1

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

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

提前致谢

4

1 回答 1

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]];
于 2014-09-10T15:29:29.560 回答