我有一个UITableview
。一切正常,除了向左滑动以显示删除按钮。似乎didSelectRowAtIndexPath
在canEditRowAtIndexPath
之前执行。如何更改以使其保持并显示删除按钮而不是显示新的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)
}
答案 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.
}
}