在iOS 7上,当使用导航控制器的后退手势(从视图的左边缘向右和向左拖动可以看到单元格的背景颜色变化)时,我的一些应用程序的表格视图会在选定的单元格上显示淡出和淡入动画。
但一些表格视图没有此动画,并且在快速拖动视图时不会取消选择选定的单元格,但在缓慢拖动视图时可以取消选择单元格。
发布于 2014-02-06 18:24:39
我也有同样的问题。您提到的代码似乎可以简化为甚至不检查是否有当前选定的行:
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}然而,我注意到,即使将animated设置为YES,也不会给出与按下后退按钮相同的动画效果。
我看到JosephH在这个问题中提到:
ios7 new pan gesture to go back in navigation stack does not clear tableview selection
一些背部故障可能会得到修复(在7.04中),但我仍然看到了问题,我运行的是7.04。希望是7.1?
当返回到TableView时,UITableViewController的“在外观上清除”属性应该清除之前选择的单元格,但很明显,当快速完成平移返回手势时,这不会发生。
发布于 2013-10-27 23:36:54
实际上,这是可行的!我只是尝试一下,它可以在拖动时获得动画效果。
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSIndexPath *selectedRowIndexPath = [self.tableView indexPathForSelectedRow];
if (selectedRowIndexPath) {
[self.tableView deselectRowAtIndexPath:selectedRowIndexPath animated:YES];
}
}但我仍然不知道为什么这个问题会发生在一些表视图上,对我来说,在iOS 7之后创建的表视图看起来是可以的,而之前创建的旧表视图有这个问题。
https://stackoverflow.com/questions/19609231
复制相似问题