我将UITableView与启用的“滑动删除”动画一起使用。
我需要监视didDeselectCell
方法来启用/禁用应用程序上的某些控件。
但是,如果用户启动“滑动删除”手势,打开“删除”按钮,然后反转该手势(未完成),则该单元格将被取消选择,并且没有任何事件被注册。
两个问题:
didDeselectCell
事件触发?答案 0 :(得分:2)
didDeselectRowAt
(和willDeselectRowAt
)仅当用户在已选择另一行的同时点按以选择一行时调用。
未调用(在编辑开始时,或在使用.deselectRow(at: ...
或.selectRow(at: ...
等通过代码取消选择/选择时。
一种选择是实施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
}
}
根据您需要做的一切,这可能会或可能不会适合您的情况。