我无法在应用的导航栏中设置自定义左栏按钮项。这是我做的:
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按钮项目不会出现的任何提示。感谢。
答案 0 :(得分:9)
问题在于您正在配置导航控制器navigationItem
,但您需要从导航控制器配置根视图控制器的navigationItem
。将您的代码移至根视图控制器viewDidLoad()
。