2016-12-28 124 views
2

我无法在我的应用程序导航栏中设置自定义左栏按钮项目。下面是我所做的:无法在导航栏中设置左栏按钮项目?

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按钮项目不会出现。谢谢。

+0

你尝试在故事板中创建'UIBarButtonItem'吗? – Rikh

+0

为什么不在你的baseViewController'viewDidLoad'方法上实现这个? –

回答

5

问题是您正在配置导航控制器的navigationItem,但您需要从导航控制器配置根视图控制器的navigationItem。将您的代码移动到根视图控制器的viewDidLoad()

+0

伊戈尔,你撞在了头上...感谢队友。 – Tariq