Черные углы на UITableView Group Style

У меня проблема с тем, что мой UITableView (стиль группы) имеет черный "наконечник" над закругленным углом.

Я настраиваю фон таблицы так:

[meetingTableView setBackgroundColor:[[UIColor alloc] initWithPatternImage:[[UIImage alloc] initWithContentsOfFile:@"background.png"]]];

И мой табличный вид выглядит так:

http://papernapkin.org/pastebin/resource/images/imageEntryId/6487

Есть идеи, как мне избавиться от этих черных точек?

9 ответов

Решение

У меня та же проблема. Когда я устанавливаю чистый цвет по xib, у меня есть задний угол. Решение состоит в том, чтобы установить его по коду!

(Та же проблема с интерфейсом построителя существует для веб-просмотров)

Попробуйте это в вашем контроллере viewDidLoad метод:

meetingTableView.backgroundColor = [UIColor clearColor];

На тот случай, если вы еще этого не знали, есть еще одна изящная техника, которую вы можете использовать, чтобы создавать собственные фоны для UITableView:

Не так просто, как установить фон, как вы делаете, но это дает вам гораздо больше гибкости и может масштабироваться до любого размера таблицы.

Вы получите Черные углы в UITableView Group Style, если вы установите цвет фона, чтобы очистить цвет в XIB.

Вместо этого попробуйте этот код для удаления черных углов в UITableView Group Style

tableViewObject.backgroundColor=[UIColor clearColor];

Может быть, если вы положите yourTableViewOutlet.backgroundView=nil;

Чтобы избежать черных углов, вы должны убедиться, что UITableViewCells не являются непрозрачными. Похоже, вы используете ячейки таблицы пользовательских стилей, а непрозрачным значением по умолчанию является YES. Либо перейдите в Interface Builder и снимите флажок непрозрачности, если ячейка таблицы была настроена в файле XIB. Или используйте setOpaque:NO сеттер для изменения значения.

Поскольку представление ячейки таблицы все еще имеет прямоугольную рамку даже с закругленными углами, то представление ячейки, а не фактическое представление таблицы вызывает эти черные углы.

Я думаю, что вы должны установить цвет фона вашей таблицы как clearColor и инициализировать ваш вид с фоновым изображением.

Тогда он точно не покажет черные углы. Но также не забудьте установить цвет фона вашей ячейки в белый цвет

Я предполагаю, что это связано с чем-то, что вы делаете в пользовательских ячейках табличного представления. Возможно, вы захотите поэкспериментировать с настройкой цвета фона ячейки в [UIColor clearColor],

Приведенный выше голос с ответом выше (установите для фона tableView значение [UIColor clearColor]) может не сработать, если вы похожи на меня и никогда не используете UITableViewController, вместо этого поместив UITableView в UIViewController.

В этом случае не табличное представление должно иметь четкий фон, а представление, которое содержит табличное представление.

Это не интуитивно понятно, но у меня работает. В конструкторе интерфейса вы можете просто установить цвет фона родительского представления на прозрачный, или вы можете сделать то же самое в коде в viewDidLoad с помощью:

self.view.backgroundColor = [UIColor clearColor];

Я предполагаю, что причиной черных углов является внутренняя оптимизация графики, а установка четкого фона исправляет это.

Другие вопросы по тегам