设置自定义UINavigationBar的titleView

时间:2015-04-14 04:21:23

标签: swift ios8

我有一个自定义导航栏,它实际上没有进行任何导航控制(应用程序只有一个视图),而是用作标题,以显示固体背景颜色的徽标。所以我在主视图控制器上放了一个导航栏并创建了一个插座,所以我可以在代码中引用它。 (顺便使用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?

1 个答案:

答案 0 :(得分:18)

您需要访问UINavigationBar的{​​{1}}属性。 然后,您可以使用topItem设置topItem' titleView

所以在你的情况下:

UIImageView