当用户返回表视图时如何执行单元格取消选择?

时间:2009-04-22 13:53:56

标签: iphone cocoa-touch

我使用UITableView显示单元格列表,当用户选择单元格时,使用以下代码显示新视图:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     [self.navigationController pushViewController: detailsViewController animated: TRUE];
}

通过使用上面的代码,视图显示正确,但是当我返回到根表视图时,仍然选择了单元格。 我注意到,在许多sdk示例中,当根视图为poped pack时,单元格被取消选择(带有漂亮的动画),但我找不到在任何示例中实现此功能的代码。 我知道我可以使用:

[tableView deselectRowAtIndexPath:indexPath animated: YES];

实现这一点,但我很好奇这些例子如何在不使用任何代码的情况下完成。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

当您在UITableViewController等中调用super时,

viewDidAppear:会自动为您处理。因此,实现此目的的最简单方法是继承UITableViewController。如果你不能(例如因为表只是更复杂视图的一部分),那么你必须自己在viewDidAppear:方法中做到这一点。 (你也应该刷新滚动条。)