核心数据+网络服务 - 如何管理视网膜图像

时间:2012-09-05 18:16:47

标签: ios web-services core-data uiimage retina-display

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

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

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

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

1 个答案:

答案 0 :(得分:0)

您需要将设备密度传递给您的网络服务,并且可能有三种版本的图片资源:1x,1.5x和2x。 1.5倍是考虑到Android。

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