无法在导航栏中设置左栏按钮项目?
问题描述:
我无法在我的应用程序导航栏中设置自定义左栏按钮项目。下面是我所做的:无法在导航栏中设置左栏按钮项目?
let profileImage = UIImage(named: "researcher_icon_selected")
let button = UIBarButtonItem(image: profileImage, style: .plain, target: self, action: #selector(self.viewDidLoad))
self.navigationItem.setLeftBarButton(button, animated: true)
我把这个代码在我称为子类的UINavigationController的viewDidLoad中“ExpertsNavigationViewController。”但是没有任何内容显示在导航栏中!
这里有几个调试实验,我想:
1)我打印左边栏按钮项目的画面尺寸,还真是从我设置的自定义图像正确的尺寸。所以实例就在那里,它只是没有在视图中显示出来。
2)我在一个全新的XCode项目中试过这个,并且自定义栏按钮项出现了!
3)因为这个,我试图让一个完全新的自定义导航控制器在我目前的项目,使这个最初的视图控制器,在插在上面的代码及其 viewDidLoad中,但同样,没有现身了!
4)我想也许我在App Delegate中做了些什么,或者导航控制器的根视图来改变导航栏。但什么也没有!
任何想法?我将不胜感激任何提示为什么bur按钮项目不会出现。谢谢。
答
问题是您正在配置导航控制器的navigationItem
,但您需要从导航控制器配置根视图控制器的navigationItem
。将您的代码移动到根视图控制器的viewDidLoad()
。
+0
伊戈尔,你撞在了头上...感谢队友。 – Tariq
你尝试在故事板中创建'UIBarButtonItem'吗? – Rikh
为什么不在你的baseViewController'viewDidLoad'方法上实现这个? –