使用资产目录在视网膜显示器上加载非视网膜图像

时间:2014-09-10 06:58:30

标签: ios uiimage asset-catalog

我正在使用资产目录来管理我的应用程序的所有图像,并且“正常”加载这些图像[UIImage imageNamed:@“my-image”];

我想要做的是从视网膜显示器上的资产目录加载图像的非视网膜版本,但我无法弄清楚如何/知道它是否可能。任何见解都会有所帮助。

提前致谢

1 个答案:

答案 0 :(得分:2)

我找到了一个解决方案,但仅在iOS 8中可用:

+ (UIImage *)imageNamed:(NSString *)name
               inBundle:(NSBundle *)bundle
compatibleWithTraitCollection:(UITraitCollection *)traitCollection

,其中

(UITraitCollection *)traitCollectionWithDisplayScale:(CGFloat)scale

所以你可以使用:

// pass nil to inBundle to use the main bundle
[UIImage imageNamed:@"my-image"
           inBundle:nil
compatibleWithTraitCollection:[UITraitCollection traitCollectionWithDisplayScale:1.0]];