swift – 设置自定义UINavigationBar的titleView

我有一个自定义导航栏,它没有真正做任何导航控制(应用程序只有一个视图)而是用作标题,以显示固体背景颜色的徽标.所以我在主视图控制器上放了一个导航栏并创建了一个插座,所以我可以在代码中引用它. (顺便使用 swift).

现在,我正在努力将徽标图像设置在导航栏的中心.我需要使用titleView(而不是设置整个背景图像).到目前为止,我读过的内容是在视图控制器中使用self.navigationItem.titleView,但我认为只有在使用UINavigationController时才有效.到目前为止,这是我的代码

@IBOutlet weak var navBar: UINavigationBar!

override func viewDidLoad() {
    super.viewDidLoad()

    let logoImage = UIImageView(frame: CGRect(x:0,y:0,width: 200,height: 45))
    logoImage.contentMode = .ScaleAspectFit

    let logo = UIImage(named: "logo.png")
    logoImage.image = logo
    self.navigationItem.titleView = logoImage
}

但这不起作用.如何使用这样的自定义UINavigationBar访问titleView?

解决方法

您需要访问UINavigationBar的topItem属性.
然后你可以用UIImageView设置topItem的titleView.

所以在你的情况下:

self.navBar.topItem?.titleView = logoImage

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...