navigationController弹出视图时取消选定单元格的内容?

Apple提供的默认NavigationController模板,它有一个navigationController和一个表格。

如果你选择一个单元格,一个新的视图将被推入navigationController,如果你弹出视图,选定的单元格将自动被低亮显示。

但是桌子怎么知道什么时候熄灭它以及它如何知道选择哪个单元?

还是只是重新加载所有数据?


餐桌怎么知道什么时候降光

您可以在选择处理程序中取消选择您的单元格:

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

或在控制器的-viewWillAppear:方法中重置选择

以及它如何知道选择了哪个单元格?

UITableView有以下方法来获取选定的行indexPath:

- (NSIndexPath *)indexPathForSelectedRow

对于Swift 3.0

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    if self.yourTableView.indexPathForSelectedRow != nil
    {
        self.yourTableView.deselectRow(at: self.yourTableView.indexPathForSelectedRow!, animated: true)
    }
}

此代码将避免崩溃以及...

另外,在选择TableViewCell的同时,在其他ViewController中添加以下行。

self.navigationController?.interactivePopGestureRecognizer?.isEnabled = true

像魅力一样工作=]

希望能帮助到你..

链接地址: http://www.djcxy.com/p/60001.html

上一篇: What deselect selected cell when navigationController pops a view?

下一篇: Why does Android require a Context to access a resource?