Ios UITableViewCell Selected BackgroundView在按下并弹出VC后保持按下状态

Ios UITableViewCell Selected BackgroundView在按下并弹出VC后保持按下状态,ios,objective-c,uitableview,Ios,Objective C,Uitableview,注意:在将我的问题标记为副本之前,请仔细阅读。重复问题状态的步骤是,我按住表格视图单元格,这意味着我从未“选择”过该单元格(为了进一步证明didselectrowatinexpath从未被调用) 我的UITableView中有一个问题,在按下并弹出VC后,我的UITableViewCell有时会保持其选定状态 我发现重复这个问题的步骤是: 按住表格单元格 单击表格单元格上的“附件”按钮以推送视图 单击“上一步”按钮返回到原始表视图 结果:按下的表格单元格仍处于选定状态 这是UITableView

注意:在将我的问题标记为副本之前,请仔细阅读。重复问题状态的步骤是,我按住表格视图单元格,这意味着我从未“选择”过该单元格(为了进一步证明
didselectrowatinexpath
从未被调用)

我的UITableView中有一个问题,在按下并弹出VC后,我的UITableViewCell有时会保持其选定状态

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

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

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

self.selectedBackgroundView = [[UIView alloc] init];
self.selectedBackgroundView.backgroundColor = [UIColor blueColor];
由于在这种情况下不会调用DidSelectRowatineDPATH,因此我无法使用indexPathForSelectedRow还原按钮的状态


在该代码内部或外部是否有我可能做错的事情?

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


应该仍然适合您调用
取消选择单元格…

,那么为什么在尝试我的STR时没有调用didSelectRowAtIndexPath?因为在触摸时调用了
DidSelector…
。对于许多控件,触摸过程中的外观和与触摸相关的动作是有区别的。当您触摸按钮时,按钮会高亮显示,但在松开按钮之前不会动作。另一种方式是,单元格的
选定状态仅应用视觉效果。实际的选择由
didSelect…
表示,我已尝试
[self.tableView取消浏览索引路径:[self.tableView indexPathForSelectedRow]动画:是]
视图上显示
/
视图将显示
,两者都不适用于我,还有什么我可以做的吗?直接在单元格上调用
设置选定的
。问题基本上是,你触摸手机两次会中断正常的工作流程:)如果你使用的是附件,我建议你在附件操作中这样做,如果你使用的是直接从附件开始的segue,我建议你在prepareForSegue中这样做。