0

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

设置图像的代码:

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

这是用于说明的屏幕截图:

在此处输入图像描述

(不同的是没有像 Photoshop 那样的底部暗线。我在 iPhone 5 Simulator (Retina) 中只能看到一半的图像)

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

4

1 回答 1

1

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

常规显示支持的文件 1:
大小 - 320x44,
名称 - UINavigationBar.png

用于视网膜显示支持的文件 2:
大小 - 640x88,
名称 - UINavigationBar@2x.png

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

于 2012-08-09T15:57:51.547 回答