Черные углы на 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];
Я предполагаю, что причиной черных углов является внутренняя оптимизация графики, а установка четкого фона исправляет это.