首页 文章

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

提问于
浏览
1

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

我试图在自定义tableviewcell中使用setSelected,但是一旦滚动,单元格就会被重置(显然) .

所以,为了解决这个问题,在我的 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath,我试图用[tableView indexPathForSelectedRow] .section来检索该节,然后我循环通过它来选择细胞 .

问题最终是每当你滚动时,你可以注意到细胞被选中,这使得它看起来很麻烦 .

有什么建议?

1 回答

  • 1

    确保您的应用程序不依赖于表格单元格来记住其选择状态 - 您的应用程序应该跟踪在视图之外的其他位置选择的内容 .

    每次表需要显示一个新单元格时,就会调用表数据源的 -tableView:cellForRowAtIndexPath: 方法,也就是说,您正好有机会正确配置单元格 . 它应该检查表的数据,确定是否应该选择单元格,并适当地设置所选状态 .

相关问题