How to programmatically set action for barButtonItem in swift 3?

后端 未结 12 1545
鱼传尺愫
鱼传尺愫 2020-12-23 16:17

Here is what I used previously,

var barButtonItem = UIBarButtonItem(image: backImgs, style: UIBarButtonItemStyle.plain, target: self, action: Selector(\"menu         


        
12条回答
  •  [愿得一人]
    2020-12-23 16:40

    create an extension for barbutton item.

     extension UINavigationItem {
        func addSettingButtonOnRight(){
           let button = UIButton(type: .Custom)
           button.setTitle("setting", forState: .Normal)
           button.titleLabel?.font = UIFont.systemFontOfSize(15.0)
           button.layer.cornerRadius = 5
           button.backgroundColor = UIColor.grayColor()
           button.frame = CGRect(x: 0, y: 0, width: 100, height: 25)
           button.addTarget(self, action: #selector(gotSettingPage), forControlEvents: UIControlEvents.TouchUpInside)
           let barButton = UIBarButtonItem(customView: button)
    
           self.rightBarButtonItem = barButton
       }
    
       func gotSettingPage(){
    
       }
     }
    

    And call it from viewDidLoad()

     self.navigationItem.addSettingButtonOnRight()
    

提交回复
热议问题