¿Cómo NSBundle pathForResource: ofType: y UIImage imageWithContentsOfFile: manejan la escala y los modificadores de dispositivo?
En mi carpeta de recursos iOS, tengo las imágenes:
foo~iphone.png
foo@2x~iphone.png
foo~ipad.png
foo@2x~ipad.png
Los cargo con:
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];
Experimentalmente:
En el iPhone,filename
es/path/to/bundle/foo~iphone.png
, y en la retina iPhone, carga el@2x
versión.
En el iPad,filename
es/path/to/bundle/foo~ipad.png
, y en la retina iPad, carga la@2x
versión.
Es decir, carga la imagen que espero, peropathForResource
maneja el modificador de dispositivo, yimageWithContentsOfFile
Maneja el modificador de escala.
Me gustaría saber por qué. losdocumentación depathForResource
no dice nada sobre los modificadores de dispositivo, y ladocumentación deimageWithContentsOfFile
No dice nada sobre los modificadores de escala.
¿Hay documentación separada que indique con precisión lo que hace cada función?