使用自定义图像作为UINavigationController导航栏的背景

时间:2014-12-03 05:32:11

标签: ios swift uinavigationcontroller uinavigationbar

我正在尝试使用图像作为导航栏的背景。我可以把图像放到条形图中,但它没有正确显示。我附上了所需背景的图像,以及我得到的结果。

此外,这是我用来将图像放入条形背景的代码。

navigationController.navigationBar.setBackgroundImage(UIImage(named:"Top Bar Slice"), forBarMetrics: UIBarMetrics.Default)

编辑: 其中一个答案将图像放入代码中,但现在它正在横跨条形图。有办法解决这个问题吗?

我现在在app delegate中使用此代码:

UINavigationBar.appearance()。setBackgroundImage(UIImage(named:" Top Bar"),forBarMetrics:UIBarMetrics.Default)

1 个答案:

答案 0 :(得分:2)

您需要覆盖UINavigationBar.appearance()

选项1:

let image = UIImage(named: "yourImage")
UINavigationBar.appearance().setBackgroundImage(image, forBarMetrics: UIBarMetrics.Default)

选项2:

UINavigationBar.appearance().setBackgroundImage(UIImage(named: "yourimage"), forBarMetrics: UIBarMetrics.Default)

您还可以将titleView添加到viewController中的导航项。

选项3:

navigationItem.titleView = UIImageView(image: UIImage(named: "yourimage"))