如何将UIBarButtonItem添加到turbolinks-ios应用程序的导航栏中
问题描述:
我有一个turbolinks-ios
应用程序,我已继承并需要添加本机导航栏。如何将UIBarButtonItem添加到turbolinks-ios应用程序的导航栏中
起初我使用故事板将主应用程序控制器嵌入到导航控制器中,但turbolinks拥有自己的导航栏,因此可以创建两个堆叠的导航栏。然后我从故事板中删除了导航控制器,但现在我无法将我的按钮添加到默认的turbolinks导航栏。没有错误,如果我单步执行代码,它会触发我的函数中的每一行,但是没有任何内容显示在栏中。我究竟做错了什么?
My功能是从viewDidLoad()
称为内的UINavigationController类是如下...
func addSlideMenuButton() {
let callback = #selector(toggleNav)
let btnShowMenu = UIButton(type: UIButtonType.system)
btnShowMenu.setImage(self.defaultMenuImage(), for: UIControlState())
btnShowMenu.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
btnShowMenu.addTarget(self, action: callback, for: UIControlEvents.touchUpInside)
let customBarItem = UIBarButtonItem(customView: btnShowMenu)
navigationController?.navigationItem.rightBarButtonItem = customBarItem
}
在正确的方向的任何微移将不胜感激。
答
您必须先致电sizeToFit
customView
。
因此,在创建UIBarButtonItem
之前添加btnShowMenu.sizeToFit
。