我正在navigationItem.leftBarButtonItem = editButtonItem
下实现viewDidLoad()
,据说我也必须实现setEditing(_ editing: Bool, animated: Bool)
。好像没有setEditing功能,每个编辑功能都可以正常工作。它有什么作用??
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.leftBarButtonItem = editButtonItem
tableView.allowsMultipleSelectionDuringEditing = true
}
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: true)
tableView.setEditing(tableView.isEditing, animated: true)
}
最佳答案
据说我也必须实现setEditing(_ edit:Bool,animation:Bool)
然后“说”不正确。
UITableViewController的内置editButtonItem
会自动为您调用表格视图的setEditing
;因此,无需重复该功能。更准确地说:
editButtonItem
做两件事:setEditing(_:animated:)
。 isEditing
属性,并相应地更改其自己的标题(“编辑”或“完成”)。 setEditing(_:animated:)
实现在其表视图上调用setEditing(_:animated:)
。 因此,如果不是UITableViewController,则需要执行最后一步。但是,事实并非如此。
关于ios - setEditing()在Swift中到底做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56229680/