Adding multiple custom bar buttons to custom nav bar

后端 未结 3 1071

I need to add two bar button items to each end of my custom navigation bar in Swift. I\'m using the following method, and although I get no errors, nothing at all is ap

3条回答
  •  北海茫月
    2021-01-25 00:10

    This code works for me:

    @IBOutlet weak var navBar: UINavigationBar!
    @IBOutlet weak var navBarItem: UINavigationItem!
    
    func displayTextInNavBar(text: String) {
    
        let labelWidth: CGFloat = navBar.frame.width / 6
        let frame = CGRect(x: 0, y: 0, width: labelWidth, height: navBar.frame.height)
        let label = UILabel(frame: frame)
    
        label.textAlignment = .Right
        label.textColor = UIColor(red: 0/255, green: 127/255, blue: 0/255, alpha: 1)
        label.font = UIFont(name: "Bradley Hand", size: 20)
        label.text = text
    
        let navBarButtonItem = UIBarButtonItem(customView: label)
        navBarItem.rightBarButtonItem = navBarButtonItem
    }
    

    The above puts a label on the right side of the navBar. If you want an actual button that is clickable, do this instead:

    let navBarButtonItem = UIBarButtonItem(title: text, style: .Plain, target: self, action: nil)
    

    If you want that button to actually do something when clicked, then instead of nil specify some function.

提交回复
热议问题