如何禁用向左滑动触发deleteAction?我只需要通过点击删除按钮来调用它。
我有提供动作的代码。
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let deleteAction = UITableViewRowAction(style: .destructive, title: "Delete", handler: { _, indexPath in
tableView.beginUpdates()
tableView.deleteRows(at: [indexPath], with: .left)
tableView.endUpdates()
})
return [deleteAction]
}
尝试修复,但不工作。
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
if tableView.isEditing {
return .delete
}
return .none
}
找到解决方案。我使用trailingSwipeActionsConfigurationForRowAt
方法而不是editActionsForRowAt
,并且UISwipeActionsConfiguration
上有一个可以禁用的属性performsFirstActionWithFullSwipe
。