UITableCell - 当用户导航回查看时,如何关闭单元格的选定状态?

时间:2011-03-17 09:58:04

标签: iphone objective-c xcode ios uitableview

我认为这是一种非常常见的情况,但我无法找到其他人如何解决问题。

我有一个UITableView,当用户点击一个单元格时,我在堆栈上推送一个新的视图控制器(使用UINavigationController)。当用户点击导航栏上的“返回”时,单元格仍然处于选定状态(即蓝色背景)。

我希望背景在用户点按单元格时最初为蓝色,但在再次显示页面时要关闭。

2 个答案:

答案 0 :(得分:3)

你可以在推动新的viewcontroller之前或之后取消选择单元格。

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [aTableView deselectRowAtIndexPath:indexPath animated:YES];
    // create and push new viewController
}

答案 1 :(得分:0)

有两种方法可以做同样的事情:

重新载入视图中的整个表格将显示

-(void)viewWillAppear:(BOOL)animated{

   [super viewWillAppear:animated];

   [YourTableView reloadData];

}

或者

-(void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    [YourTableView deselectRowAtIndexPath:indexPath animated:YES];
}

考虑性能明智第二个是最佳解决方案使用。