当我为 iPhone、iPhone 视网膜、iPad、iPad 视网膜的 ImageView 创建图像时,我应该创建 4 个图像吗?
例如对于我使用的硬币图像->
- 硬币.png
- 硬币@2x.png
- coinIpad.png
- coinIpad@2x.png
我可以只创建最大尺寸的图像(imageIpad@2x.png)并在 Xcode 中选择 Aspect Fit 吗?
[UIImage imageNamed:@"imageIpad@2x.png"];
执行此操作的常用方法是什么?
仅创建一个图像并依靠设备调整它的大小是:
[[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad
或将您的项目拆分为 2 个单独的目标,并将 2 组图像分别添加到它们的正确目标。
按照您的要求回答您的问题:是的,您可以只使用最高分辨率的图像,并将其安装到每个设备当前需要的尺寸。您可以UIImage
按照您的建议,通过使用命名资源初始化,并将其分配给UIImageView
每个设备类型中具有适当框架的 a 。
我会建议这样做吗?不!
为什么?
因此,如果您只想缩小高分辨率图像的尺寸,请下载功能强大但便宜的东西,例如 gimp 并自己调整一次(而不是让成千上万的手机一次又一次地这样做),用流行的名称保存它们并将它们包含在界。
你需要做的就是在你想打电话的时候投入硬币。
例如:
[UIImage imageNamed:@"coin"];
但是,当将图像放入资源文件夹时,将其命名coin@2x.png
为视网膜图像和coin~ipad.png
ipad 图像。
Xcode 将相应地调用适当的图像。
如果您只想拥有可以创建一次并在不同情况下使用的可调整大小的资产 - 看看这个UIImage+PDF类别,它可以帮助您使用 PDF,它作为矢量格式可以缩放到任何大小而不会损失质量.
最近添加了缓存,这也应该是一个帮助。