tableView中的deselectRowAtIndexPath问题

Run*_*oop 1 iphone cocoa-touch

我有一个包含几行文本的单元格,在选中/突出显示时会改变颜色.问题在于,当正在推送新的viewController时,会发生取消选择动画,当文本突然恢复到未选择状态时,这会在视觉上分散注意力.我已经在推送新视图控制器的行之后移动了deselectRowAtIndexPath语句,但这没有任何效果.

如何防止用户看到单元格取消选择(未实现计时器)?任何帮助将不胜感激.

Ale*_*lex 9

如果你正在使用UITableViewController,你将不需要打电话deselectRowAtIndexPath:.当您的表格视图再次可见时,将自动为您完成此操作.

如果你没有使用a,UITableViewController因为你有一个更复杂的界面,你需要deselectRowAtIndexPath:从该viewWillAppear:animated:方法手动调用.


wkw*_*wkw 7

我认为用于表视图和推送新VC的一般范例是您取消选择方法中的表行viewWillAppear:animated.然后,当弹出VC时,他们会看到哪一行已用于导航到该VC.

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    [self.myTableView deselectRowAtIndexPath:[myTableView indexPathForSelectedRow] animated:YES];

}
Run Code Online (Sandbox Code Playgroud)

所以从你的didSelectRowAtIndexPath方法中删除deselectRow .