UINavigationBar背景 - 如何涵盖所有尺寸,分辨率和设备?

时间:2015-07-05 19:08:18

标签: ios uinavigationbar

我有以下代码可以正常设置背景图像:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed: @"navbar_bg.png"] forBarMetrics:UIBarMetricsDefault];

我的问题是,对于Xcode6,iOS8 / 9,iPhone 5,6,6 +,iPad等,我如何确保覆盖所有设备,宽度和分辨率,以确保我的背景图像始终填充导航条正确吗?

我在SO和其他各种网站上看到了其他问题,但都已有2-4岁,所以不要提及或涵盖最新的设备宽度和分辨率。

我想在导航栏中使用背景图片,但我需要确保它在所有可能的设备上看起来都很好。

1 个答案:

答案 0 :(得分:1)

您所要做的就是在资产目录中拥有三个版本的图像。第一个尺寸你需要第二个尺寸的两倍和第三个尺寸的三倍。 Xcode会将正确的图像放在正确的设备上。

或者你可以放一个矢量图像,在编译时,Xcode将为你动态生成三个图像。

对于导航栏,您需要单独的纵向和横向图像。你可以这样写:

func hasDismissedPostCommentViewController(controller: PostCommentViewController) {
    //Update
}