代码之家  ›  专栏  ›  技术社区  ›  gsp1294

UIBarButtonItem在设置后未高亮显示

  •  0
  • gsp1294  · 技术社区  · 7 年前

    我已经宣布了两个uibarbuttonite,btnEdit和btnSave。最初,我在viewDidLoad中设置btnEdit。如果用户点击btnEdit,我想将btnSave设置为rightBarButtonItem,当点击btnSave时,设置btnEdit 作为右翼巴布托主义。

    它工作正常,我可以轻触它,但第一次轻触后,按钮褪色/未处于突出显示状态。附加图像。 如何使其处于正常状态?

    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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Azsgy    7 年前

    下面是固定代码

     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
    
        }
    }