如何在用户返回表视图时执行单元格取消选择?
我正在使用UITableView来显示单元格列表,当用户选择一个单元格,然后通过使用下面的代码出现一个新的视图:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.navigationController pushViewController: detailsViewController animated: TRUE];
}
通过使用上面的代码,视图显示正确,但是当我返回到根表视图时,单元格仍然处于选中状态。 在许多sdk示例中,我注意到,当根视图是po pack时,该单元格被取消选择(具有很好的动画),但是我找不到在任何示例中实现此功能的代码。 我知道我可以使用:
[tableView deselectRowAtIndexPath:indexPath animated: YES];
来实现这一点,但我很好奇这些示例如何在不使用任何代码的情况下执行此操作。
有任何想法吗?
当你在viewDidAppear:
调用super
时, UITableViewController
为你自动处理这个viewDidAppear:
所以最简单的方法就是子类UITableViewController。 如果你不能(例如,因为表只是更复杂视图的一部分),那么你必须在viewDidAppear:
方法中自己做。 (你也应该刷新滚动条)。
上一篇: How to perform a cell deselection when a user returns to a table view?