Как мне заполнить цвет фона UITableViewCell? - PullRequest
2 голосов
/ 22 февраля 2010

Как мне залить цвет фона для UITableViewCell? Я пробовал этот код, но он не работал.

cell.backgroundColor = [UIColor redColor];

Ответы [ 3 ]

2 голосов
/ 22 февраля 2010

Попробуйте установить backgroundView для UITableViewCell:

UIView *bgView = [[UIView alloc] init];
bgView.backgroundColor = [UIColor redColor];
cell.backgroundView = bgView;
// release object
[bgView release];

Таким же образом можно изменить вид фона для выделения UITableViewCell.

cell.selectedBackgroundView = bgView;
1 голос
/ 25 августа 2012

Взгляните на следующий фрагмент из документации UITableViewCell.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

Примечание. Если вы хотите изменить цвет фона ячейки (устанавливая цвет фона ячейки через свойство backgroundColor, объявленное UIView), вы должны сделать это в tableView: willDisplayCell: forRowAtIndexPath: метод делегата и не в tableView: cellForRowAtIndexPath: источника данных. Изменения в цветах фона ячеек в табличном представлении стиля группы имеют эффект в iOS 3.0, который отличается от предыдущих версий операционной системы. Теперь он влияет на область внутри прямоугольника с закругленными углами, а не на область вне него.

Это должно решить вашу проблему.

1 голос
/ 22 февраля 2010

Настройка цвета фона, хотя UITableViewCell свойство backgroundColor работает только в табличном представлении Сгруппированный . Поэтому, если ваше табличное представление выполнено в стиле Plain , оно не будет работать.

Вы, конечно, можете установить цвет фона UITableView contentView. Но тогда вам, вероятно, придется проделать дополнительную работу, так как другие подпредставления (текстовые метки и вспомогательные виды) имеют свое представление о цветах фона.

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