突出显示特定tableview部分中的所有单元格

问题描述:

我的要求是:如果用户单击某个部分中的任何行,该部分中的所有行都需要突出显示(更改背景颜色)。我有一个自定义的tableviewcell。突出显示特定tableview部分中的所有单元格

我试图在自定义tableviewcell中使用setSelected来玩,但是一旦你滚动,单元格就会重置(显然)。 (UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath,我试图使用[tableView indexPathForSelectedRow] .section来修复这个问题,在我的 - (void)tableView:检索该部分,然后我循环选择单元格。

问题的结果是,每次你滚动时,你都会注意到被选中的单元格使得它看起来有问题。

有什么建议吗?

确保您的应用程序不依赖表格单元格来记住它们的选择状态 - 您的应用程序应该跟踪除了视图之外的什么和未选择的地方。

您的表数据源的-tableView:cellForRowAtIndexPath:方法在每次表需要显示新单元格(即之前不可见的单元格)时调用。这是您正确配置单元的机会。它应该检查表格的数据,确定是否应该选择单元格,并适当地设置选定的状态。

+0

谢谢。它的工作原理:D – user754905 2011-06-15 20:01:55

+0

很高兴提供帮助。 ;-) – Caleb 2011-06-15 20:04:09