iOS突出显示多个UITableViewCells

时间:2014-06-10 17:51:56

标签: ios objective-c uitableview

是否可以突出显示多个UITableViewCell?像过滤表一样的东西。如果用户点击第0行,它会突出显示。然后用户点击第1行并且也会突出显示,但第0行也会突出显示。我没有看到任何这方面的例子。

我有一个包含5个项目的词典,可以选择,其值为是或否,以跟踪哪些项目被突出显示。

我使用(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath并将其设置为nil,但现在我无法取消选择行。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以采取的措施是跟踪所选索引并相应地更改表viewCell的背景颜色,例如:

将Array声明为SelectedIndexes

然后在didSelectRowAtIndex方法中执行以下操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

 if([selectedIndex containObject :indexPath]){

       [selectedIndexes removeObject:indexPath];

    }else{

      [selectedIndexes addObject:indexPath];


     }

  [tableView reloadData];

}

然后在你的CellForRowAtIndexPath方法中执行此操作

  • (UITableViewCell *)tableView:(UITableView *)tableView      cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    if([selectedIndex containsObject:indexPath]){

    cell.backgroundColor = highlightedColor;     }否则{

    cell.backgrounfColor = NORMALCOLOR;

    }
    

} 希望这有助于