Черные углы на UITableView Group Style - PullRequest
25 голосов
/ 13 октября 2009

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

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

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

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

черный заостренный край на закругленном угле http://papernapkin.org/pastebin/resource/images/imageEntryId/6487

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

Ответы [ 9 ]

54 голосов
/ 21 декабря 2010

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

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

16 голосов
/ 04 ноября 2009

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

meetingTableView.backgroundColor = [UIColor clearColor];
3 голосов
/ 15 февраля 2012

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

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

tableViewObject.backgroundColor=[UIColor clearColor];

3 голосов
/ 22 октября 2009

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

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

2 голосов
/ 02 декабря 2011

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

1 голос
/ 13 октября 2009

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

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

0 голосов
/ 16 ноября 2010

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

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

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

self.view.backgroundColor = [UIColor clearColor];

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

0 голосов
/ 04 ноября 2009

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

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

0 голосов
/ 29 октября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...