UITableViewCell selectedBackgroundView在推送和弹出VC后保持按下状态

时间:2014-05-20 20:47:57

标签: ios objective-c uitableview

注意:在将我的问题标记为重复之前,请仔细阅读。重复问题的步骤表明我正在按下并按住表格视图单元格,这意味着我从不选择"选择"单元格(进一步证明didSelectRowAtIndexPath永远不会被调用)

我的UITableView中存在一个问题,在推送和弹出VC后,我的UITableViewCell有时会保持其选定状态。

我发现重复此问题的步骤是:

按住表格单元格 单击表格单元格上的附件按钮以推送视图 单击后退按钮返回原始表视图 结果:按下的表格单元格仍处于选定状态。

这是我在UITableViewCell子类中相对于其选择状态的唯一代码:

self.selectedBackgroundView = [[UIView alloc] init];
self.selectedBackgroundView.backgroundColor = [UIColor blueColor];

因为在这种情况下不会调用didSelectRowAtIndexPath,所以我不能使用indexPathForSelectedRow来恢复按钮的状态

在此代码的内部或外部,我有什么可能做错的吗?

1 个答案:

答案 0 :(得分:1)

单元格的selected状态在触摸时设置,而不是在触摸时设置。要验证这一点,请注意触摸单元格时单元格背景颜色会发生变化,而不是在您松开触摸时。

仍然适合您拨打deselectCell...