我正在开发支持所有 iPhone 屏幕的纵向分辨率应用。我没有缩放,所以我必须适应每个屏幕尺寸。 iPhone 6 plus portrait 为 1242 x 2208 (@3x),iPhone 6 portrait 为 750 x 1334 (@2x) 强>。
通常我会在 320@1x、640@2x 和 960@3x 中创建全宽图像图形。但现在它不起作用。我是否必须为每个分辨率制作完整的宽度 大小的图像?
比如我会为 iPhone 5s 或更早版本创建 640@2x,为 iPhone 6 创建 750@2x,为 iPhone 6 plus 创建 1242@3x >.
我是否必须为每个分辨率制作不同的图像?我的方向是正确的还是有更好的解决方案?
最佳答案
iPhone 6 和 iPhone 5 使用相同的 @2x
图像,但由于两种设备的分辨率不同,最好为两者获取不同的图像。
在 iPhone 6 上,如果将加载 iPhone 5 的图像,那么您会看到一些失真。
另一方面,如果您有适用于 iPhone 6 的 750 x 1334 (@2x) 图像,并且如果您将加载该 ionic iPhone 5 或 4,那么您将看到压缩图像,因为它具有更高的分辨率。
但问题是,如果您同时放置 iPhone_5@2x 和 iPhone_6@2x,那么 Xcode 将不知道要在哪个设备上加载哪个图像。因此,为此我创建了一个函数来在运行时区分图像。
//MARK: Load Images for particular device
func getDeviceSpecificImage(imgName: String) -> String{
var imageName: String?
switch UIScreen.mainScreen().bounds.width{
case 320:
imageName = String(format: "%@_5@2x", imgName)
case 375:
imageName = String(format: "%@_6@2x", imgName)
case 414:
imageName = String(format: "%@_6+@3x", imgName)
default:
break
}
return imageName!
}
希望这对您有所帮助!
关于iOS-iPhone 6 和 6 plus 的图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125375/