didSelectRowAtIndexPath在canEditRowAtIndexPath之前执行

时间:2015-09-03 13:27:03

标签: ios swift uitableview

我有一个UITableview。一切正常,除了向左滑动以显示删除按钮。似乎didSelectRowAtIndexPathcanEditRowAtIndexPath之前执行。如何更改以使其保持并显示删除按钮而不是显示新的UIView

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    println("Edit")
    return true
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    println("Select")
    println(indexPath.row)


    let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("CklDtljChnge") as! UIViewController

    self.presentViewController(viewController, animated: false, completion: nil)

}

1 个答案:

答案 0 :(得分:0)

您需要添加这些委托方法才能执行此操作。

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


        return UITableViewCellEditingStyle.Delete

    }
    func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
        if (editingStyle == UITableViewCellEditingStyle.Delete) {

          // do  your stuff.

        }
    }