首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想让UIBarButtonItem与setEditing协同工作

我想让UIBarButtonItem与setEditing协同工作
EN

Stack Overflow用户
提问于 2021-11-06 02:24:38
回答 1查看 26关注 0票数 0

我在使用setEditing处理UIBarButtonItem时遇到了问题

代码语言:javascript
复制
    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中调用常量名称

代码语言:javascript
复制
override func setEditing(_ editing: Bool, animated: Bool) {
    super.setEditing(editing, animated: animated)
    
    if isEditing{
        
    }else{

    }

但是它正在写任何东西,即使打印出来,它也不能工作。

在viewDidLoad中编写它时

一切都正常,但我不能在函数setEditing中调用它

我想隐藏播放按钮,并在setEditing函数中显示它

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-06 19:17:42

我在想像这样的东西:

代码语言:javascript
复制
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!]

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69860997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档