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