closuresUITableViewRowAction

我有一个自定义的UITableViewRowAction设置和工作。 我唯一不能解决的是如何在一个动作被选中后closuresUITableViewRowAction。 我确定我错过了一些非常明显的东西。 这是我目前的设置:

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? { var moreRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "In", handler:{action, indexpath in //Some code to execute here }); moreRowAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0) return [moreRowAction]; } 

感谢您的任何build议。

当你点击这个动作的时候,你可以忽略这个被调用的处理器中的动作。 文档描述处理程序如下

当用户点击与此动作关联的button时要执行的块。 UIKit会复制您提供的块。 当用户select这个对象表示的动作时,UIKit会在应用程序的主线程上执行你的处理程序块。

独立,我想你可以将表视图editing属性设置为false。

 tableView.setEditing(false, animated: true) 

这适用于我:

tableView.editing = NO;

调用tableView.setEditing(false, animated: true)似乎只有一些时间。 最终表格视图似乎进入不再显示编辑操作的状态。

我发现只需调用tableView.reloadRows(at: [indexPath], with: .none)更可靠。

它适用于Swift 3中的mi:

 self.tableView.setEditing(false, animated: true)