Я пытаюсь установить маркировку backgroundColor моего UITableViewCells, и это не делает абсолютно ничего вообще. Интересно, существует ли другой способ сделать это, таким образом, я спрашиваю!
Я попробовал это:
cell.textLabel.backgroundColor = [UIColor redColor];
cell.backgroundColor = [UIColor redColor];
И это не работает, ничто больше?
Спасибо!
Я предполагаю, что вы пытаетесь это сделать в cellForRowAtIndexPath.
Согласно ссылке на класс UITableViewCell :
Примечание. Если вы хотите изменить цвет фона ячейки (установив цвет фона для ячейку через свойство backgroundColor, объявленное UIView), вы должны сделать это в методе tableView: willDisplayCell: forRowAtIndexPath: делегата, а не в {{ 1}} tableView: cellForRowAtIndexPath: из источника данных.
Итак, сделайте следующее:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor redColor]; //must do here in willDisplayCell
cell.textLabel.backgroundColor = [UIColor redColor]; //must do here in willDisplayCell
cell.textLabel.textColor = [UIColor yellowColor]; //can do here OR in cellForRowAtIndexPath
}
Если вам нужен более точный контроль над отображением ячеек, проще всего создать его в IB и загрузить из пера в cellForRowAtIndexPath. См. Раздел «Загрузка пользовательских ячеек табличного представления из файлов пера» на на этой странице в Руководстве по программированию табличного представления.