从 Xcode 9.4.1 开始,我们似乎仍然无法在 Interface Builder 中专门执行此操作。不过,在代码中很容易做到。
您根本不需要在 IB 中设置按钮。只需在您的viewDidLoad
方法中添加此代码:
navigationItem.leftBarButtonItem = editButtonItem
这会自动设置“编辑”按钮,该按钮会变为“完成”,以便用户可以结束编辑。
要执行与编辑过程相关的任何自定义操作,请覆盖视图控制器的setEditing(_ editing: Bool, animated: Bool)
方法。
例如,如果您有一个表格视图需要打开和关闭其编辑,您可以这样做:
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
tableView.setEditing(editing, animated: animated)
}
一定要super.setEditing
在这里打电话。
注意:如果您使用UITableViewController
,setEditing
已经在超类中设置来处理表格视图。您不需要覆盖它,除非您在启用/禁用编辑时要包含其他自定义代码。