【问题标题】:UIBarButtonItem is not Highlighted after settingUIBarButtonItem 设置后不突出显示
【发布时间】:2018-03-24 15:01:01
【问题描述】:

我已经声明了两个 UIBarButtonItem,btnEdit 和 btnSave。最初我在 viewDidLoad 中设置 btnEdit。如果用户点击 btnEdit 我想将 btnSave 设置为 rightBarButtonItem,当点击 btnSave 时,设置 btnEdit 作为 rightBarButtonItem。

它工作正常,我可以点击它,但在第一次点击后按钮会褪色/不在突出显示状态。附图片。 如何让它有正常的状态?

var btnEdit : UIBarButtonItem!
var btnSave : UIBarButtonItem!

@objc func btnEditTapped (){
    textFieldViewNote.isEditable = true
    navigationItem.rightBarButtonItem = btnSave
}


@objc func btnSaveTapped (){
    textFieldViewNote.isEditable = false
    navigationItem.rightBarButtonItem = btnEdit

}



override func viewDidLoad() {
    super.viewDidLoad()
    btnSave = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(btnSaveTapped))
    btnEdit = UIBarButtonItem(barButtonSystemItem: .edit, target: self, action: #selector(btnEditTapped))
    navigationItem.rightBarButtonItem = btnEdit

}

After loading VC - Edit in normal state

After tapping on edit - Save btn in normal State

Edit faded tapping on save barbutton

【问题讨论】:

    标签: swift uibarbuttonitem xcode9


    【解决方案1】:

    下面是固定代码

     class ViewController: UIViewController {
    
        var btnEdit : UIBarButtonItem!
        var btnSave : UIBarButtonItem!
    
        @objc func btnEditTapped (){
            btnSave = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(btnSaveTapped));
    
          navigationItem.rightBarButtonItem = btnSave
    
        }
    
    
        @objc func btnSaveTapped (){
            btnEdit = UIBarButtonItem(barButtonSystemItem: .edit, target: self, action: #selector(btnEditTapped));        navigationItem.rightBarButtonItem = btnEdit
    
    
        }
    
    
    
        override func viewDidLoad() {
            super.viewDidLoad()
            btnSave = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(btnSaveTapped))
            btnEdit = UIBarButtonItem(barButtonSystemItem: .edit, target: self, action: #selector(btnEditTapped))
            navigationItem.rightBarButtonItem = btnEdit
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多