如何在iphone中再次显示表格视图时删除单元格选择样式颜色?

War*_*ior 17 iphone uitableview

我是iphone开发的新手.我创建了一个显示我的内容的表.如果我选​​择一行,它的状态会以蓝色突出显示并导航到另一个视图,如果我单击后退按钮,它会导航回显示单击的单元格的表格.在蓝色的颜色,我想在导航回到它的视图时删除桌子上突出显示的颜色.我怎么能这样做.谢谢.

Nic*_*ick 48

我认为通常接受的方法是在导航到新视图时取消选择单元格.而不是viewWillAppear,使用tableview委托方法didSelectRowAtIndexPath和您使用的相同deselectRowAtIndexPath.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath{
  [tableView deselectRowAtIndexPath:newIndexPath animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

(并且通过普遍接受,我的意思是"我经常在示例代码中看到的东西".这取决于你最终希望它看起来像什么)


War*_*ior 14

我终于通过在我的表视图类中实现它来实现它.

- (void)viewWillAppear:(BOOL)animated  
{  
    NSIndexPath *tableSelection = [self.tableView indexPathForSelectedRow];  
    [self.tableView deselectRowAtIndexPath:tableSelection animated:NO];  
}  
Run Code Online (Sandbox Code Playgroud)


Gan*_*olo 14

你在cellForRowAtIndexPath方法上做错了.用这个

 [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
Run Code Online (Sandbox Code Playgroud)

在你的UITableViewCells上

如果您希望单元格不会突出显示,也不会在选择触摸时返回查看,这将是正确的方法.如果您只想在返回时取消选择单元格,则其他解决方案更合适.