针对特定 iPhone 模型的图像
Images to Target Specific iPhone Models
假设我有一张图片,它的高度是 iPhone 4s 屏幕显示的一半,当这张图片加载到 iPhone 5 时,显然这个尺寸不再是 iPhone 5 的一半iPhone,因为 iPhone 5 的高度略大于 iPhone 4 的高度。
我的问题是,就像使用图像 2x 和 3x 一样,有没有一种方法可以将图像添加到针对特定 iPhone 的应用程序?这样其他没有定位到的图片就不会随应用一起下载了。
或者我是否需要将各种尺寸的图像添加到应用程序,然后在代码中说如果 iphone4 加载此图像,如果 iphone5 加载此图像?我不想这样做的唯一原因是因为我将拥有比 iphone6 plus 或 [=21] 多 3 倍的存储图像(目标 iPhone 4、5、6) =].
我希望像 image@2x~iphone4.png 或 image@2x~iphone5.png 这样的东西,但这不起作用。
看看图像资产,它解决了您所说的确切问题。
https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html
它的作用是允许您在调用 [UIImage imageNamed:@"imageNameHere"]
时提供可以作为单个名称引用的 1x、2x 和 3x 图像。
对于捆绑的图像资产是正确的,但您已经提到您真的不想在应用程序中包含这么多资产。
您可能需要查看 Xcode 7 / iOS 9 的 App Thinning 功能,以及按需资源,这将允许您将所需的图像加载到 Xcode 但 App Store 只会下载正在使用的设备所需的资源。
如果您仍然需要支持 iOS 8,您需要将图像存储在远程服务器上并在需要时加载它们。
假设我有一张图片,它的高度是 iPhone 4s 屏幕显示的一半,当这张图片加载到 iPhone 5 时,显然这个尺寸不再是 iPhone 5 的一半iPhone,因为 iPhone 5 的高度略大于 iPhone 4 的高度。
我的问题是,就像使用图像 2x 和 3x 一样,有没有一种方法可以将图像添加到针对特定 iPhone 的应用程序?这样其他没有定位到的图片就不会随应用一起下载了。
或者我是否需要将各种尺寸的图像添加到应用程序,然后在代码中说如果 iphone4 加载此图像,如果 iphone5 加载此图像?我不想这样做的唯一原因是因为我将拥有比 iphone6 plus 或 [=21] 多 3 倍的存储图像(目标 iPhone 4、5、6) =].
我希望像 image@2x~iphone4.png 或 image@2x~iphone5.png 这样的东西,但这不起作用。
看看图像资产,它解决了您所说的确切问题。 https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/Recipe.html
它的作用是允许您在调用 [UIImage imageNamed:@"imageNameHere"]
时提供可以作为单个名称引用的 1x、2x 和 3x 图像。
您可能需要查看 Xcode 7 / iOS 9 的 App Thinning 功能,以及按需资源,这将允许您将所需的图像加载到 Xcode 但 App Store 只会下载正在使用的设备所需的资源。
如果您仍然需要支持 iOS 8,您需要将图像存储在远程服务器上并在需要时加载它们。