如何在UITableView上禁用滑动删除选项

问题描述 投票:0回答:1

我在同一个UIViewController上有2个UITableView(表-1和表-2)。我想编辑表2中的功能。

我在我的视图控制器中添加了tableview数据源方法,如下所述: -

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete {

            tableView.beginUpdates()
            myArray.remove(at: indexPath.row)
            tableView.deleteRows(at: [indexPath], with: .fade)
            tableView.endUpdates()
        }
    } 

并且tableview调用此方法。因此每个tableview单元格都可以打开删除选项。

但是我只想在Table-2中使用这个删除编辑选项。我想限制表-1中的删除编辑选项功能。

请帮忙。提前致谢。

uitableview swift4 editing
1个回答
1
投票

您可以使用UITableViewDelegate提供的此功能:

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    return true
}

只需实现一些逻辑来检查是否允许在给定的indexPath上进行编辑,如果你想编辑/删除,则给出tableViewreturn true,如果你不想,则给return false

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.