Цвет фона UITableViewCell - PullRequest
       1

Цвет фона UITableViewCell

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

Я использую базовую ячейку табличного представления, настроенную в IB.Единственная настройка, которую я применяю, находится в cellForRowAtIndexPath, где я просто устанавливаю цвет фона метки ячейки (, а не цвет самой ячейки).

    [[cell textLabel] setBackgroundColor:[UIColor yellowColor]];

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

Какое объяснение этому стоит?

enter image description here enter image description here

Правка - вот мой cellForRowAtIndexPath и настройка в IB:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
ItemCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ItemCell2"];
[[cell textLabel] setBackgroundColor:[UIColor yellowColor]];            
return cell;

}

enter image description here

1 Ответ

5 голосов
/ 22 февраля 2012

вы должны использовать

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

из документов:

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

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