我有一个包含几行文字的单元格,在选中/突出显示时会改变颜色。问题在于,当正在推送新的viewController时,会发生取消选择动画,当文本突然恢复到未选择状态时,这会在视觉上分散注意力。我已经在推送新视图控制器的行之后移动了deselectRowAtIndexPath语句,但这没有效果。
如何防止用户看到单元格取消选择(未实现计时器)?任何帮助将不胜感激。
答案 0 :(得分:9)
如果您使用UITableViewController
,则无需致电deselectRowAtIndexPath:
。当您的表视图再次可见时,将自动为您完成此操作。
如果您没有使用UITableViewController
,因为您的界面更复杂,则需要从deselectRowAtIndexPath:
方法手动调用viewWillAppear:animated:
。
答案 1 :(得分:7)
我认为用于表视图和推送新VC的一般范例是您在viewWillAppear:animated
方法中取消选择表格行。然后,当弹出VC时,他们会看到哪一行已用于导航到该VC。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.myTableView deselectRowAtIndexPath:[myTableView indexPathForSelectedRow] animated:YES];
}
所以请从您的didSelectRowAtIndexPath
方法中删除deselectRow。