0

仅使用 Core Data,我可以读取 plist 文件并为这样的对象设置图像:

[itemObject setValue:[UIImage imageNamed:[item valueForKey:@"image"]] forKey:@"image"];

如果设备具有视网膜显示屏,此代码将自动选择应用程序包中文件的视网膜 (@2x) 版本。

如果我从 Web 服务获取图像,我该如何处理?我想我必须将 1x 和 2x 图像上传到网络服务。那么,我是否要为项目创建两个单独的字段,例如 image-lowRes 和 image-highRes,并在请求图像数据之前进行设备检查?我认为这是一种常见的情况,所以我希望有人可以从经验中给出一些关于解决此问题的最佳方法的建议。

4

1 回答 1

0

您需要将设备密度传递给您的 Web 服务,并可能拥有三个版本的图像资产,1x、1.5x 和 2x。1.5x 是针对 Android 的。

使用 Android 命名约定,您可以将它们存储在 mdpi、hdpi 和 xhdpi 文件夹中,尽管这些细节完全取决于您。

于 2012-09-05T19:00:19.773 回答