我了解如何将我的 UITableView
设置为编辑模式,以及如何动态创建编辑按钮:
override func viewDidLoad() {
tableView.allowsMultipleSelectionDuringEditing = true
tableView.setEditing(false, animated: false)
navigationItem.leftBarButtonItem = editButtonItem()
}
但是当我点击编辑按钮时,我希望导航栏上出现一个新按钮(即“加号”/“添加”按钮)。为此,我认为我需要创建一个 IBAction
,但我不知道如何将 editButtonItem()
链接到操作。有什么想法吗?
最佳答案
好的,非常感谢 Ahmed 和 vadian 的评论,但我得到的工作是:
override func setEditing(editing: Bool, animated: Bool) {
// Toggles the edit button state
super.setEditing(editing, animated: animated)
// Toggles the actual editing actions appearing on a table view
tableView.setEditing(editing, animated: true)
if (self.editing) {
navigationItem.rightBarButtonItem =
UIBarButtonItem(barButtonSystemItem: .Add, target: self,
action: #selector(clickMe))
} else {
// we're not in edit mode
let newButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
navigationItem.rightBarButtonItem = newButton
}
}
func clickMe()
{
print("Button Clicked")
}
当按下编辑按钮(并从“编辑”->“完成”翻转并再次返回)时,IF/ELSE 语句中的代码将执行。
关于ios - Swift:编辑模式,将 editButtonItem() 链接到 IBAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37187182/