UINavigationBar的自定义样式无法正常工作

时间:2012-08-09 15:21:22

标签: ios xcode uinavigationbar photoshop

我正在使用此代码为所有UINavigationBars设置自定义背景图像。问题是最终图像看起来不是视网膜尺寸。我研究过UINavigationBars是640x88px。这是我的UINavigationBar.png的确切尺寸,但我只看到iPhone Sim(视网膜)上的320x44px和我的iphone 4也是视网膜。

设置图片的代码:

UIImage *background = [UIImage imageNamed:@"UINavigationBar.png"];
[[UINavigationBar appearance] setBackgroundImage:background forBarMetrics:UIBarMetricsDefault];

以下是插图的截图:

enter image description here

(不同之处在于Photoshop中没有底部暗线。我只能在iPhone 5模拟器(Retina)中看到一半的图像)

我的问题是为什么会发生这种情况,我该如何解决?感谢。

1 个答案:

答案 0 :(得分:1)

您需要有两个.png个不同大小和相同名称的文件,但在视网膜显示文件中添加了@ 2x。
例如,

文件1用于常规显示支持:
尺寸-320x44,
name- UINavigationBar.png

视网膜显示支持的文件2:
尺寸 - 640x88,
name- UINavigationBar@2x.png

在您的代码中,您始终使用UINavigationBar.png,根据硬件,设备将自动知道要使用的女巫文件。