我在 UIViewController
中有一个 UITableView
并且从代码而不是 IB 添加了一个编辑按钮。这带有 UITableViewControllers
但不是 UIVC。如何获得此按钮以快速将表格 View 置于编辑模式?在此先感谢您的帮助。
class WordsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = self.editButtonItem()
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
}
最佳答案
这是Swift 4.2的解决方案:
override func viewDidLoad() {
super.viewDidLoad()
// Use the edit button provided by the view controller.
navigationItem.rightBarButtonItem = editButtonItem
}
override func setEditing(_ editing: Bool, animated: Bool) {
// Takes care of toggling the button's title.
super.setEditing(editing, animated: true)
// Toggle table view editing.
tableView.setEditing(editing, animated: true)
}
当 editButtonItem
被按下时,默认调用 View Controller 的 setEditing
。默认情况下,按下按钮会在“编辑”和“完成”之间切换其标题,因此调用 super.setEditing
会为我们处理这个问题,我们使用 tableView
' s setEditing
方法来切换 TableView 的编辑状态。
来源:
关于swift - 将表格 View 设置为编辑模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34157800/