无法在导航栏中设置左栏按钮项?
Posted
技术标签:
【中文标题】无法在导航栏中设置左栏按钮项?【英文标题】:Can't set left bar button item in navigation bar? 【发布时间】:2016-12-28 15:25:18 【问题描述】:我无法在我的应用导航栏中设置自定义左栏按钮项。这是我所做的:
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) 因此,我尝试在当前项目中制作一个全新的自定义导航控制器,将其作为初始视图控制器,将上述代码插入到 its viewDidLoad 中,但同样没有任何显示起来!
4) 我想也许我在 App Delegate 或导航控制器的根视图中做了一些事情来更改导航栏。但是什么都没有!
有什么想法吗?我将不胜感激有关为什么 bur 按钮项目不会出现的任何提示。谢谢。
【问题讨论】:
您是否尝试在情节提要中创建UIBarButtonItem
?
为什么不在 baseViewController viewDidLoad
方法上实现这个?
【参考方案1】:
问题是您正在配置导航控制器的navigationItem
,但您需要从导航控制器配置根视图控制器的navigationItem
。将您的代码移动到根视图控制器的viewDidLoad()
。
【讨论】:
以上是关于无法在导航栏中设置左栏按钮项?的主要内容,如果未能解决你的问题,请参考以下文章