【发布时间】:2013-03-12 11:48:59
【问题描述】:
我正在使用 IB 将图像分配给 UIImageViews。我知道对于视网膜图像,您需要两个图像:非视网膜分辨率 .png 和 @2x.png。我只是在 IB 中分配正常图像,当设备是视网膜时,它会得到@2x,一切正常。
但是 iPhone 5 的图像呢? IB 是否也有某种后缀来读取和交换图像?
【问题讨论】:
标签: xcode interface interface-builder iphone-5
我正在使用 IB 将图像分配给 UIImageViews。我知道对于视网膜图像,您需要两个图像:非视网膜分辨率 .png 和 @2x.png。我只是在 IB 中分配正常图像,当设备是视网膜时,它会得到@2x,一切正常。
但是 iPhone 5 的图像呢? IB 是否也有某种后缀来读取和交换图像?
【问题讨论】:
标签: xcode interface interface-builder iphone-5
简短的回答是否定的。
你可以使用:
#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)
检查用户是否使用 iPhone 5。
在某些情况下,我使用 iPhone 5 图像作为@2x 图片以避免上述检查。 iPhone 5 用户将获得全分辨率图片,iPhone 4 用户将获得相同的图片,但下部隐藏。
【讨论】:
#if 语句中使用宏,因为它不是编译时表达式。在普通的if 语句中使用它,你会没事的。