注意:在将我的问题标记为重复之前,请仔细阅读。重复问题的步骤表明我正在按下并按住表格视图单元格,这意味着我从不选择"选择"单元格(进一步证明didSelectRowAtIndexPath
永远不会被调用)
我的UITableView中存在一个问题,在推送和弹出VC后,我的UITableViewCell有时会保持其选定状态。
我发现重复此问题的步骤是:
按住表格单元格 单击表格单元格上的附件按钮以推送视图 单击后退按钮返回原始表视图 结果:按下的表格单元格仍处于选定状态。
这是我在UITableViewCell子类中相对于其选择状态的唯一代码:
self.selectedBackgroundView = [[UIView alloc] init];
self.selectedBackgroundView.backgroundColor = [UIColor blueColor];
因为在这种情况下不会调用didSelectRowAtIndexPath,所以我不能使用indexPathForSelectedRow来恢复按钮的状态
在此代码的内部或外部,我有什么可能做错的吗?
答案 0 :(得分:1)
单元格的selected
状态在触摸时设置,而不是在触摸时设置。要验证这一点,请注意触摸单元格时单元格背景颜色会发生变化,而不是在您松开触摸时。
仍然适合您拨打deselectCell...