ios7 UINavigationBar backgroundImage被设置为颠倒

时间:2013-10-06 14:46:05

标签: iphone objective-c cocoa-touch ios7 uinavigationbar

我正在尝试设置UINavigationBar背景图片:

我在AppDelegate中添加:(请注意,这是一张图片)

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"general-top_bar_with_status.png"] forBarMetrics:UIBarMetricsDefault];

由于我不需要半透明,在ViewDidLoad的ViewController中我添加了:

self.navigationController.navigationBar.translucent = NO;

这是图片: enter image description here

不幸的是,这就是我得到的: enter image description here

如您所见,图像已向上显示。

有什么问题?

在故事板中,我为TopBar设置了一个地方 - 不透明的导航栏

2 个答案:

答案 0 :(得分:13)

对于 iOS 7 ,您必须使用 320x64 大小的导航栏图像

答案 1 :(得分:2)

制作图片2X尺寸。名称为mynavbar@2x.png

导航栏正在调整其自身大小+状态栏大小。您可以只创建导航栏大小

640X88

导航栏+状态栏

或640X128

然后

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