UITableView:"didDeselectCell" 方法未被调用,尽管单元格被取消选择

UITableView: "didDeselectCell" method not called, although cell gets deselected

我使用启用了 "swipe to delete" 动画的 UITableView。

我需要监控 didDeselectCell 方法以 enable/disable 应用程序上的某些控件。

但是,如果用户启动 "swipe to delete" 手势,打开 "delete" 按钮然后反转手势(未完成),单元格将被取消选择并且不会注册任何事件。

两个问题:

  1. 在这种情况下是否也可以启用 didDeselectCell 事件触发?
  2. 如何通过 "swipe to delete" 自动取消选择该单元格?
  3. 如何获得通知?

didDeselectRowAt(和 willDeselectRowAt)仅在用户点击 select 一行而另一行已经 selected 时被调用。

未调用 当编辑开始时,或当使用 .deselectRow(at: ... 或 [=14= 通过代码删除 selecting / selecting ]等

一个选择是实施 willBeginEditingRowAt:

func tableView(_ tableView: UITableView, willBeginEditingRowAt indexPath: IndexPath) {
    if let iPath = tableView.indexPathForSelectedRow {
        print("the row at \(iPath) was selected...")
        // do stuff for that row
    }
}

根据您需要执行的所有操作,这可能适用于您的情况,也可能不适用。