2013-06-09 2 views
0

Вид таблицы У меня есть изменения Цвет фона ячейки довольно часто. Цвета, установленные в -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath прекрасны, но некоторые цвета устанавливаются после просмотра таблицы нагрузок, таких как:TableView Сбрасывает цвет после прокрутки

- (void) ChangeCellColorAtIndexPath:(NSIndexPath *)indexPath { 

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:currentCell inSection:0]]; 

cell.backgroundView.backgroundColor = [UIColor orangeColor];  


} 

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

+0

как и когда вы называете этот метод? Вероятно, его нужно вызвать в cellForRowAtIndexPath при создании/повторном использовании ячейки. – katzenhut

+0

'cellForRowAtIndexPath' обновляет только те ячейки, которые видны в это время. Было бы неплохо установить фон в этом методе. –

ответ

2

Вы должны учитывать, как работает процесс загрузки ячейки: когда вы устанавливаете цвет видимой ячейки, и пользователь прокручивает ее до точки, где эта ячейка не видна, а затем прокручивает назад к исходной точке в виде таблицы снова вызовет tableView:cellForRowAtIndexPath:, будет создана новая ячейка (лучше сказать, что уже созданная ячейка будет использоваться повторно, если вы будете делать что-то правильно, как я предполагаю), а цвет фона, который вы ранее установили, будет проигнорирован.

Решение должно знать, какой цвет должен иметь каждая ячейка в tableView:cellForRowAtIndexPath: и установить цвет там.

+0

Спасибо, что это именно то, что мне нужно. Я не думаю, что он бы вспомнил «tableView: cellForRowAtIndexPath:», и это была моя проблема. Вы не только ответили на мой вопрос, но дали мне очень важные знания. Спасибо! – Tanner

+0

Так что если он решил вашу проблему, примите ответ :). – e1985

+0

Хорошая точка. Попался – Tanner

Смежные вопросы