【发布时间】:2019-03-15 07:03:10
【问题描述】:
我有一个编辑按钮 - UIBarButtonItem
点击后从屏幕上消失
当点击取消按钮时出现
如您所见,编辑按钮的状态在出现后保持选中状态。 如何以编程方式将导航栏按钮状态更改为正常状态?或者建议我一个更好的方法。
这是我的项目代码
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, introductionDelegate {
var navBarEditButton: UIBarButtonItem?
var navBarDeleteButton: UIBarButtonItem?
var navBarCancelButton: UIBarButtonItem?
override func viewDidLoad() {
super.viewDidLoad()
self.navBarEditButton = UIBarButtonItem(title: "Edit", style: .plain, target: self, action: #selector(editObjectsAction))
self.navBarDeleteButton = UIBarButtonItem(title: "Delete", style: .plain, target: self, action: #selector(deleteObjectsAction))
self.navBarCancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelAction))
self.navigationItem.leftBarButtonItems = [navBarEditButton!]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@objc private func editObjectsAction(_ sender: UIBarButtonItem) {
self.navigationItem.leftBarButtonItems = [navBarCancelButton!, navBarDeleteButton!]
}
@objc private func cancelAction(_ sender: UIBarButtonItem) {
self.navigationItem.leftBarButtonItems = [navBarEditButton!]
}
@objc private func deleteObjectsAction(_ sender: UIBarButtonItem) {
}
【问题讨论】:
-
上面的代码看起来不错。您正在使用哪种设备进行测试?请在代码的其他部分检查 navBarEditButton。可能是您在其他时候禁用它。
-
用 iPhone 8 测试,在整个代码中 navBarEditButton 只遇到了四次。
-
好的,我只是为了确定其他部分的禁用状态,但不是你的原因。