iOS - 禁用 UITableViewCell 的左右滑动

iOS - disable right or left swipe for UITableViewCell

我已经为我的 UITableViewCell 实现了 iOS 11 trailingSwipeActionsConfigurationForRowAtleadingSwipeActionsConfigurationForRowAt。我正在使用 trailingSwipeActionsConfigurationForRowAt 禁用该行,并使用 leadingSwipeActionsConfigurationForRowAt 撤消该行的禁用。我尝试使用 canEditRowAt,但这会禁用对整行的编辑。有没有办法只禁用一个滑动操作而不是禁用整行编辑?

如果我已经通过滑动来撤消,我想禁用撤消滑动操作,但启用取消滑动操作。如果我已经滑动取消,我还想禁用取消滑动操作,但启用撤消滑动操作。

尝试returntrailingSwipeActionsConfigurationForRowAt方法中的空动作数组来禁用单向动作。

func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

   let swipeAction = UISwipeActionsConfiguration(actions: [])

   return swipeAction
}

返回 nil 足以阻止滑动操作。

func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {

   return nil
}