изменение фона UITableViewCell

#iphone #objective-c

#iPhone #objective-c

Вопрос:

Я знаю, что об этом могли спрашивать тысячи раз, я попытался изменить фон для моей uitablewiewcell с помощью следующего:

  cell.contentView.backgroundColor = [UIColor colorWithRed:0 green:0.188235 blue:0.313725 alpha:1];
              cell.textLabel.backgroundColor = [UIColor colorWithRed:0 green:0.188235 blue:0.313725 alpha:1];
  

и все, что у меня сейчас есть, это:

введите описание изображения здесь

Как мне также настроить цвет фона для просмотра этого аксессуара?

ОБНОВЛЕНИЕ: у меня есть заголовок раздела сверху, в котором он имеет белый фон

Ответ №1:

Поместите это в свой UITableViewDelegate :

 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = [UIColor colorWithRed:0 green:0.188235 blue:0.313725 alpha:1];
}
  

Комментарии:

1. изменяет ли это также раздел?

2. Это не должно изменять цвет раздела, вам придется сделать это самостоятельно, внедрив tableView:viewForHeaderInSection: и вернув свой собственный вид.

3. это единственное решение из многих, которое сработало для меня. Большое спасибо

Ответ №2:

Вы немного все усложняете. Вы можете просто изменить цвет фона tableview, который делает именно то, что вы хотите. Таким образом, вам не нужно устанавливать цвет для КАЖДОЙ ячейки. 🙂

     self.tableView.backgroundColor = [UIColor greenColor];
  

Комментарии:

1. На самом деле у меня есть раздел сверху, в котором я не хочу иметь синий фон.. это должно было быть показано на скриншоте

2. Можете ли вы добавить скриншот к своему сообщению? Вы говорите о представлении заголовка таблицы?

Ответ №3:

 //in willDisplayCell
if (indexPath.section > 0) {
    cell.backgroundColor = [UIColor blueColor];
}