小编Hen*_*els的帖子

是否可以通过编程方式禁用commitEditingStyle?

在我的tableview中,我只希望某些单元格能够根据条件向左拖动某些选项.其他单元格的行为应该像commitEditingStyle禁用一样.这可能吗?

使用下面的代码,我可以在满足条件时添加操作,但其他单元格仍然可以获得默认的"删除"操作.如何摆脱删除操作?

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
}

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {

    let object = items[indexPath.row]
    if object.name == "name" {

        // someAction
        var addAction = UITableViewRowAction(style: .Default, title: "+") { (action: UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in
        }
        return [addAction]
    }
    return nil
}
Run Code Online (Sandbox Code Playgroud)

使用下面的代码,我设法启用和禁用操作.但只有Delete按钮.

override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {

    let object = items[indexPath.row]
    if object.name == "joyce" …
Run Code Online (Sandbox Code Playgroud)

action edit tableview swift

5
推荐指数
2
解决办法
2388
查看次数

标签 统计

action ×1

edit ×1

swift ×1

tableview ×1