我使用UITableView显示单元格列表,当用户选择单元格时,使用以下代码显示新视图:
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.navigationController pushViewController: detailsViewController animated: TRUE];
}
通过使用上面的代码,视图显示正确,但是当我返回到根表视图时,仍然选择了单元格。 我注意到,在许多sdk示例中,当根视图为poped pack时,单元格被取消选择(带有漂亮的动画),但我找不到在任何示例中实现此功能的代码。 我知道我可以使用:
[tableView deselectRowAtIndexPath:indexPath animated: YES];
实现这一点,但我很好奇这些例子如何在不使用任何代码的情况下完成。
有什么想法吗?
答案 0 :(得分:1)
UITableViewController
等中调用super
时, viewDidAppear:
会自动为您处理。因此,实现此目的的最简单方法是继承UITableViewController。如果你不能(例如因为表只是更复杂视图的一部分),那么你必须自己在viewDidAppear:
方法中做到这一点。 (你也应该刷新滚动条。)