为啥导航栏徽标不显示在主视图中

Posted

技术标签:

【中文标题】为啥导航栏徽标不显示在主视图中【英文标题】:Why does navigation bar logo not display in master view为什么导航栏徽标不显示在主视图中 【发布时间】:2014-11-27 05:22:49 【问题描述】:

我正在编写一个 ios 7/8 应用程序,并希望在导航栏的中心显示一个徽标。我从一个主/细节项目开始。然后我添加了代码以将 titleView 更改为徽标(请参见以下代码)。徽标显示在详细信息页面上,但不在母版页上(显示母版页标题)。我尝试将代码放在导航控制器和视图控制器中,但得到了相同的结果。故事板或导航控制器代码中是否需要设置其他内容?

    var logo = UIImage(named: "logo_sm.png")
    var logoView = UIImageView(image: logo)
    self.navigationItem.titleView = logoView

或在视图控制器中

    var logo = UIImage(named: "logo_sm.png")
    var logoView = UIImageView(image: logo)
    self.navigationController?.navigationItem.titleView = logoView

编辑 我找到了一种让它工作的方法。在 UIViewController 我将代码更改为:

    self.navigationItem.titleView = logoView

这引用了视图的 navigationItem 而不是导航控制器的 navigationItem。

【问题讨论】:

我找到了让它工作的方法。请查看我的编辑。 【参考方案1】:

第一个 sn-p 工作正常。我认为问题在于您没有在目标中添加图像,我猜。

确保在将图像文件拖放到项目时选中“添加到目标”选项。

希望这会有所帮助,祝编码愉快:)

【讨论】:

否,图像已正确添加到项目中。它在“详细信息”视图中显示得很好,只是在“主”视图中没有。

以上是关于为啥导航栏徽标不显示在主视图中的主要内容,如果未能解决你的问题,请参考以下文章

导航控制器中不显示后退按钮

UISplitViewController:为啥我不应该在导航或标签栏界面中显示它?

调用控制器和方法时,导航栏图像未显示在 MVC 视图上

在第二个标签栏项目中不显示搜索控制器的键盘

我无法让我的徽标显示在导航栏上

引导导航栏:在较小的设备上不显示任何内容