iOS - 禁用UITableViewCell的向右或向左滑动

时间:2018-05-29 23:05:35

标签: ios swift uitableview ios11 swipe

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

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

2 个答案:

答案 0 :(得分:6)

尝试在trailingSwipeActionsConfigurationForRowAt方法中返回空的操作数组以禁用单向操作。

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

   let swipeAction = UISwipeActionsConfiguration(actions: [])

   return swipeAction
}

答案 1 :(得分:0)

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

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

   return nil
}