2013-05-06 2 views
0

Я меняю цвета ячеек на пользовательский цвет кнопки TableView. Cell indexRow получает зеленый цвет при нажатии кнопки, но после прокрутки он снова становится нормальным белым цветом. Я пробовал разные решения, но никаких результатов. Не могли бы вы предложить. Благодарю.Как изменить цвет ячеек таблицы tableview после прокрутки в iOS

-(void)yesAction:(id)sender 
{ 
_cellButtonPress = YES; 
// [myChklist reloadData]; 
UIButton *button = (UIButton *)sender; 
UITableViewCell *cell = (UITableViewCell *)button.superview.superview; 
UITableView *curTableView = (UITableView *)cell.superview; 
NSIndexPath *indexPath = [curTableView indexPathForCell:cell]; 
cell.backgroundColor = [UIColor greenColor]; 
} 

ответ

1

Когда ваши прокрутки вашей ячейки снова нарисованы. Вам нужно снова установить свойство.

Вы можете сохранить массив выбранной indexes.Then в вашем cellForRowAtIndexPath делегат метода вы можете установить цвет фона в виде белого или зеленого цвета на основе index.Something как:

NSMutableArray* indexArray = [[NSMutableArray alloc] init]; 

В yesAction:

[indexArray addObject:indexPath]; 

В cellForRowAtIndexPath:

if ([indexArray containsObject:indexPath]) { 
    cell.backgroundColor = [UIColor greenColor]; 
} 
+0

Да gr8. Я также поместил этот метод под - (void) tableView: (UITableView *) tableView willDisplayCell: (UITableViewCell *) cell forRowAtIndexPath: (NSIndexPath *) indexPath –

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