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

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()

【讨论】:

以上是关于无法在导航栏中设置左栏按钮项?的主要内容,如果未能解决你的问题,请参考以下文章

导航左栏按钮项作为图像徽标

使用左栏按钮在导航栏上滑动返回手势

导航栏中的 Barbutton 项目左栏按钮粘在左上角

当后退按钮在导航栏中没有标题时,停止左栏按钮向右移动

iOS导航栏:将左栏按钮从菜单更改为后退

在 ios 中为 UINavigationitem(左栏按钮项)设置图像