UITableView失去了所选的iOS状态

时间:2011-09-20 13:05:45

标签: iphone ios uitableview state highlight

我有一个UITableView,所以当你按下第一个单元格时,它会带你到一个新的视图(新的xib)。当您按下第二个单元格时,您将转到另一个视图,依此类推。当您转到任何这些新视图并返回到tableview视图时,您刚刚按下的单元格仍然处于选中状态(突出显示为蓝色)。解决这个问题的代码是什么?

3 个答案:

答案 0 :(得分:4)

在tableView数据源委托方法中:

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

答案 1 :(得分:1)

在tableView的viewWillAppear中,您想要从中删除选择的单元格:

UITableViewCell *cell = (UITableViewCell *)[myTableView cellForRowAtIndexPath:lastSelected];
[cell setSelected:NO];

其中lastSelected可以是NSIndexPath类型的全局变量,存储来自上述UITableView的didSelectRowAtIndexPath的indexPath

答案 2 :(得分:0)

这很容易......

在推送新视图的方法中,您应该添加以下行:

[tableView deselectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated];