我在使用setEditing处理UIBarButtonItem时遇到了问题
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
let play = UIBarButtonItem(title: "Play", style: .plain, target: self, action: #selector(playTapped))
navigationItem.rightBarButtonItems = [add, play]在viewDidLoad外部写入常量(add、play )时
我可以在函数setEditing中调用常量名称
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
if isEditing{
}else{
}但是它正在写任何东西,即使打印出来,它也不能工作。
在viewDidLoad中编写它时
一切都正常,但我不能在函数setEditing中调用它
我想隐藏播放按钮,并在setEditing函数中显示它
发布于 2021-11-06 19:17:42
我在想像这样的东西:
class ViewController: UIVewController {
var add : UIBarButtonItem?
var play : UIBarButtonItem?
override func viewDidLoad() {
super.viewDidLoad()
add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
play = UIBarButtonItem(barButtonSystemItem: .play, target: self, action: #selector(playTapped))
navigationItem.rightBarButtonItems = [add!]
}
override func setEditing(_ editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
if isEditing{
navigationItem.rightBarButtonItems = [add!]
}else{
navigationItem.rightBarButtonItems = [add!, play!]
}https://stackoverflow.com/questions/69860997
复制相似问题