Как NSBundle pathForResource: ofType: и UIImage imageWithContentsOfFile: обрабатывают масштаб и модификаторы устройства?
В моей папке ресурсов 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
и на сетчатке iPhone, он загружает@2x
версия.
На iPadfilename
является/path/to/bundle/foo~ipad.png
и на сетчатке iPad, он загружает@2x
версия.
То есть он загружает изображение, на которое я надеюсь, ноpathForResource
обрабатывает модификатор устройства, иimageWithContentsOfFile
обрабатывает модификатор масштаба.
Я хотел бы знать почему.документация изpathForResource
ничего не говорит о модификаторах устройства, адокументация изimageWithContentsOfFile
ничего не говорит о модификаторах масштаба.
Есть ли отдельная документация, которая точно указывает, что делает каждая функция?