在我的iOS资源文件夹中,我有以下图片:
foo~iphone.png
foo@2x~iphone.png
foo~ipad.png
foo@2x~ipad.png
我使用以下代码加载它们:
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];
实验结果:
在iPhone上,filename
是/path/to/bundle/foo~iphone.png
,而在retina iPhone上,它会加载@2x
版本。
在iPad上,filename
是/path/to/bundle/foo~ipad.png
,而在retina iPad上,它会加载@2x
版本。
也就是说,它会加载我所希望的图片,但是pathForResource
处理设备修饰符,而imageWithContentsOfFile
处理比例修饰符。
我想知道原因。 pathForResource
的文档没有提到设备修饰符,而imageWithContentsOfFile
的文档没有提到比例修饰符。
是否有单独的文档准确说明每个函数的作用?