如何禁用 UITableViewCell 上的删除操作?

Posted

技术标签:

【中文标题】如何禁用 UITableViewCell 上的删除操作?【英文标题】:How to disable delete action on UITableViewCell? 【发布时间】:2018-02-10 02:47:55 【问题描述】:

我有一个 UITableViewCell,我在其中实现了 leadingSwipeActionsConfigurationForRowAt indexPath 以允许用户在单元格上向右拖动以将它们添加到他们的收藏夹中。但是,这样做也出现了向左拖动删除的选项。我不希望这些单元格能够被删除。有没有办法在不出现删除操作的情况下实现滑动操作?

【问题讨论】:

你只需要leadingSwipe 吗?或leadingSwipe 和 trailingSwipe。 【参考方案1】:

试试这个

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool 
    return false

编辑

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

   let swipeAction = UISwipeActionsConfiguration(actions: [])
   swipeAction.performsFirstActionWithFullSwipe = false // This is the line which disables full swipe
   return swipeAction

【讨论】:

谢谢,但请参阅我的编辑以进行澄清。不是我想对某些单元格添加删除操作,我不想对任何单元格执行删除操作。 我仍然希望能够添加自己的操作。我只是不想默认删除一个 在前导 Swipe 中可以配置标题和图片 我已经这样做了。这给了我我想要的领先行动,但它也添加了我不想要的尾随删除。

以上是关于如何禁用 UITableViewCell 上的删除操作?的主要内容,如果未能解决你的问题,请参考以下文章

删除 UITableViewCell 上的填充

为 UITableViewCell 上的特定按钮删除 UIButton 事件的链接

如何使 UITableViewCell 显示为禁用?

如何禁用 UITableViewCell 突出显示?

如何禁用为 UITableViewCell 的某些部分调用 DidSelect?

使用 rxswift 禁用 UITableViewCell 编辑模式