UITableView:切换回视图后突出显示的单元格

时间:2010-05-05 17:27:48

标签: iphone objective-c uitableview

我正在使用UINavController和一些UITableViews来显示某种数据的向下钻取(例如联系人应用程序)。效果很好。我唯一的问题是,当我在第一个表视图中选择一个单元格时,它会突出显示,然后视图切换到下一个级别,然后,如果我返回到第一个级别,单元格仍然会突出显示。那么,如何在切换回来时重置突出显示?

2 个答案:

答案 0 :(得分:7)

在表格视图的控制器中执行:

-(void) viewWillAppear:(BOOL)inAnimated {
    NSIndexPath *selected = [self.table indexPathForSelectedRow];
    if ( selected ) [self.table deselectRowAtIndexPath:selected animated:NO];
}

或者您可以在tableView:didSelectRowAtIndexPath:中取消选择正在处理下一个控制器的所选行。

答案 1 :(得分:5)

另一种方法是在选择单元格时取消选择单元格。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}