Como NSBundle pathForResource: ofType: e UIImage imageWithContentsOfFile: lidar com modificadores de escala e dispositivo?
Na minha pasta de recursos do iOS, tenho as imagens:
foo~iphone.png
foo@2x~iphone.png
foo~ipad.png
foo@2x~ipad.png
Eu carrego-os com:
NSString *fileName = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:fileName];
Experimentalmente:
No iPhone,filename
é/path/to/bundle/foo~iphone.png
, e no iPhone da retina, carrega o@2x
versão.
No iPad,filename
é/path/to/bundle/foo~ipad.png
, e no iPad retina, carrega o@2x
versão.
Isto é, carrega a imagem que eu espero, maspathForResource
manipula o modificador de dispositivo eimageWithContentsOfFile
lida com o modificador de escala.
Eu gostaria de saber porque. odocumentação dopathForResource
não diz nada sobre modificadores de dispositivo, e odocumentação doimageWithContentsOfFile
não diz nada sobre modificadores de escala.
Existe documentação separada que indica precisamente o que cada função faz?