无法在导航栏中设置左栏按钮项目?

时间:2016-12-28 15:25:18

标签: ios swift uinavigationcontroller

我无法在应用的导航栏中设置自定义左栏按钮项。这是我做的:

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)    

我将此代码放在名为“ExpertsNavigationViewController”的子类UINavigationController的viewDidLoad中。但导航栏中没有任何内容出现!

以下是我尝试过的一些调试实验:

1)我打印了左侧条形按钮项目图片尺寸,实际上它是我设置的自定义图像的正确尺寸。所以实例就在那里,它只是没有出现在视图中。

2)我在一个全新的XCode项目中尝试了这个,并且出现了自定义栏按钮项目!

3)因此我试图在我当前的项目中创建一个全新的自定义导航控制器,使其成为初始视图控制器,将上面的代码插入到 viewDidLoad中,但同样没有显示起来!

4)我想也许我在App Delegate中做了一些事情,或者导航控制器的根视图来改变导航栏。但那里什么都没有!

有什么想法吗?我将不胜感激为什么bur按钮项目不会出现的任何提示。感谢。

1 个答案:

答案 0 :(得分:9)

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