gpt4 book ai didi

ios - UITableView 尾部滑动短与长或长滑动后返回单元格

转载 作者:行者123 更新时间:2023-11-30 12:05:11 25 4
gpt4 key购买 nike

在我的 TableView 中,我实现了 func tableView(_ tableView: UITableView, TrailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? 以提供删除功能。我想确认删除,因此显示带有删除或取消提示的 UIAlertController。当用户决定取消时,单元格应该恢复为不编辑状态。通常,这可以通过调用 tableView?.setEditing(false,animated: true) 来实现,但这不适用于长时间滑动。

理想情况下,即使单元格已完全滑动,我也希望 tableView?.setEditing(false,animated: true) 也能工作。

其他选择是简单地省略完整滑动的确认,但随后我需要一种方法来确定滑动是长还是短。

实现这两个结果的方法是什么?

谢谢

最佳答案

我现在正在处理同样的问题。我尝试了一切,但解决方案很简单。当您创建 UIContextualAction 时,它将处理程序作为一个参数。处理程序有点像闭包。闭包有 3 个参数。最后一个是完成处理程序。完成后,只需使用 true 调用此处理程序即可。我希望它有所帮助。

let removeHandler:UIContextualActionHandler = { (action, view, finished) in
let alert = UIAlertController(title: "Warning", message: "Do you really want to remove this?", preferredStyle: .alert)

let removeButton = UIAlertAction(title: "Remove", style: .destructive, handler: { (action) in
finished(true)
CameraManager.shared.removeCamera(index: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .automatic)
})

let cancelButton = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)

alert.addAction(removeButton)
alert.addAction(cancelButton)
self.present(alert, animated: true)
}
let removeAction = UIContextualAction(style: .destructive, title: "Odstrániť", handler: removeHandler)

let conf = UISwipeActionsConfiguration(actions: [removeAction])

关于ios - UITableView 尾部滑动短与长或长滑动后返回单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46759507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com