我正在使用此代码为所有UINavigationBars设置自定义背景图像。问题是最终图像看起来不是视网膜尺寸。我研究过UINavigationBars是640x88px。这是我的UINavigationBar.png的确切尺寸,但我只看到iPhone Sim(视网膜)上的320x44px和我的iphone 4也是视网膜。
设置图片的代码:
UIImage *background = [UIImage imageNamed:@"UINavigationBar.png"];
[[UINavigationBar appearance] setBackgroundImage:background forBarMetrics:UIBarMetricsDefault];
以下是插图的截图:
(不同之处在于Photoshop中没有底部暗线。我只能在iPhone 5模拟器(Retina)中看到一半的图像)
我的问题是为什么会发生这种情况,我该如何解决?感谢。
答案 0 :(得分:1)
您需要有两个.png
个不同大小和相同名称的文件,但在视网膜显示文件中添加了@ 2x。
例如,
文件1用于常规显示支持:
尺寸-320x44,
name- UINavigationBar.png
视网膜显示支持的文件2:
尺寸 - 640x88,
name- UINavigationBar@2x.png
在您的代码中,您始终使用UINavigationBar.png,根据硬件,设备将自动知道要使用的女巫文件。