ios - leftbarbuttonitem - uibarbuttonitem image swift
iOS rightBarButtonItem en UINavigationController en swift (3)
Estoy tratando de poner un rightBarButtonItem
de rightBarButtonItem
de rightBarButtonItem
a la rightBarButtonItem
en un segundo controlador de vista de una pila UINavigationViewController
.
Estoy creando y configurando el botón en viewDidLoad
del controlador de vista que quiero mostrar. Mi código actual se ve así:
override func viewDidLoad() {
super.viewDidLoad()
menu_button_ = UIBarButtonItem(image: UIImage(named: "menu"),
style: UIBarButtonItemStyle.Plain ,
target: self, action: "OnMenuClicked:")
self.navigationController!.navigationItem.rightBarButtonItem = menu_button_
}
¿Qué me estoy perdiendo? El botón no aparece.
Crear una extensión de UINavigationItem como -
extension UINavigationItem {
func addSettingButtonOnRight(){
let button = UIButton(type: .custom)
button.setTitle("setting", for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 15.0)
button.layer.cornerRadius = 5
button.backgroundColor = .gray
button.frame = CGRect(x: 0, y: 0, width: 100, height: 25)
button.addTarget(self, action: #selector(gotSettingPage), for: UIControlEvents.touchUpInside)
let barButton = UIBarButtonItem(customView: button)
self.rightBarButtonItem = barButton
}
@objc func gotSettingPage(){
}
}
Y llámalo desde viewDidLoad () como -
self.navigationItem.addSettingButtonOnRight()
Debería establecer el menu_button_
como el rightBarButtonItem
de su viewController
lugar de la navigationController
.
Tratar
self.navigationItem.rightBarButtonItem = menu_button_
en lugar de
self.navigationController!.navigationItem.rightBarButtonItem = menu_button_
Intenta con el siguiente code.
esto funciona para mi.
let homeButton : UIBarButtonItem = UIBarButtonItem(title: "LeftButtonTitle", style: UIBarButtonItemStyle.Plain, target: self, action: "")
let logButton : UIBarButtonItem = UIBarButtonItem(title: "RigthButtonTitle", style: UIBarButtonItemStyle.Plain, target: self, action: "")
self.navigationItem.leftBarButtonItem = homeButton
self.navigationItem.rightBarButtonItem = logButton
Y si desea establecer custom image
, consulte las directrices de Apple en el siguiente enlace.