我在tableView上实现了前导滑动操作(“删除”),由于我不知道的原因,该操作也显示为尾随滑动操作。参见下面的代码:
func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) ->
UISwipeActionsConfiguration? {
let delete1 = deleteAction(at: indexPath)
return UISwipeActionsConfiguration(actions: [delete1])
}
func deleteAction(at indexPath: IndexPath) -> UIContextualAction {
let action = UIContextualAction(style: .destructive, title: "Delete") { (action, view, completion) in
self.delete(at: indexPath)
}
return action
}
我过去经常执行滑动操作,但是我完全删除了此功能。当我将“ leadingSwipeActionsConfigurationForRowAt”更改为“ trailingSwipeActions ...”时,仅出现尾随滑动动作。如果有人能告诉我我错过了什么,请多谢。谢谢。
答案 0 :(得分:2)
使用此代码来防止trailingSwipeAction()
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle
{
return .none
}
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
return UISwipeActionsConfiguration(actions: [])
}
答案 1 :(得分:1)
因为这是启用滑动功能时的默认行为。如果您只想在左侧实施破坏性删除操作,则可以执行类似的操作以禁用尾端的滑动。
func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
return UISwipeActionsConfiguration(actions: [])
}
通过传递一组空的动作,由于有0组可能的动作,因此尾随滑动将消失。