如何在iOS中滚动后保持表视图的单元格颜色

时间:2013-05-06 07:01:00

标签: ios uitableview colors

我正在更改自定义tableView按钮颜色的单元格颜色。单元格索引在按钮单击时变为绿色但滚动后再次变为正常的白色。我试过不同的解决方案但没有结果。你能不能建议一下。谢谢。

-(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 个答案:

答案 0 :(得分:1)

当您的单元格滚动时,它会再次被绘制。您需要再次设置该属性。

您可以维护一系列选定的索引。然后在您的cellForRowAtIndexPath委托方法中,您可以根据索引将背景颜色设置为白色或绿色。如下所示:

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

在yesAction中:

 [indexArray addObject:indexPath];

在cellForRowAtIndexPath中:

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