He aquí una excepción de mi blog sobre este tema:
[UIImage imageNamed:] carga automáticamente @ versiones 2x de imágenes cuando se ejecuta en un dispositivo de retina. Desafortunadamente, imageNamed: NO cargará automáticamente -568h @ 2x versiones de imágenes cuando se ejecuta en un iPhone 5.
A veces esto no importa, por ejemplo, los iconos y gráficos de pantalla no completa son probablemente los mismos en iPhone 4 & 5. Sin embargo, si tiene imágenes de fondo de pantalla completa o imágenes de fondo de ancho completo/alto para barras de herramientas, etc., tendrá problemas. Es muy probable que sus imágenes de 480 imágenes se alarguen (y, como resultado, probablemente se vean horribles).
Puede comprobar manualmente el tamaño de la pantalla y cargar la imagen de la derecha como esto:
UIImage* myImage;
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
myImage = [UIImage imageNamed:@"myImage-568h.png"];
} else {
myImage = [UIImage imageNamed:@"myImage.png"];
}
Hay una manera de alterar UIImage imageNamed por lo que no carga automáticamente la imagen de la derecha. Vea el enlace a continuación para más detalles.
Más en: http://pervasivecode.blogspot.co.uk/2012/09/making-apps-work-on-iphone-5-screen-size.html
EDIT: @Sound Blaster & @GrizzlyNetch son derecha, en el código que puedes usar imageNamed: @ "myImage-568h.png"], pero el nombre de archivo real debería haber [email protected] Si no haces esto, entonces la escala es incorrecta, tal como lo dijeron.
Debe separar las preguntas diferentes en diferentes preguntas. –