editActionsForRowAtIndexPath用于iOS Swift的一个部分

时间:2016-01-03 10:52:19

标签: ios swift uitableview

Section one here

Section two here

正如您在图像中看到的,此表格中有两个部分。 我是否可以知道如何设置仅在第一部分中启用editActionsForRowAtIndexPath?

这是我的代码,使tableViewCell能够进行行滑动...

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
{
    let complete =  UITableViewRowAction(style: .Normal, title: "Complete")
    { action, index in
        print("more button tapped")
    }
    complete.backgroundColor = UIColor.greenColor()
    return [complete]
}

1 个答案:

答案 0 :(得分:6)

您可以使用indexPath.section来决定要设置的部分,但是如果要启用编辑,则应使用tableView:canEditRowAtIndexPath:indexPath:告诉表视图。

Swift 2

override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool{
    return indexPath.section == 0
}

Swift 3

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
    return indexPath.section == 0
}