2011-12-27 10 views
6

dispositivo iOS Retina no muestra la imagen 2X @, que muestra la imagen 1X.dispositivo iOS Retina no muestra la imagen 2X @, que muestra la imagen 1X

estoy usando Xcode 4.2.1 Build 4D502, la aplicación se dirige a iOS 5.

He creado una aplicación de prueba (maestro/detalle) y ha añadido dos imágenes.

iconTest.png 24 x 24 [email protected] 48 x 48 Cada imagen es única, por lo que puedo decir fácilmente cuál se muestra.

En el viewDidLoad estoy añadiendo un botón para el control de navegación ...

UIImage *buttonImage = [UIImage imageNamed:@"iconTest.png"]; 
UIBarButtonItem *button = [[UIBarButtonItem alloc] 
          initWithImage:buttonImage 
            style:UIBarButtonItemStyleBordered 
            target:self 
            action:@selector(share)]; 
self.navigationItem.rightBarButtonItem = button; 

Cuando ejecuto esta aplicación de prueba en el simulador de iOS correctamente muestra el icono de un dispositivo iOS retina. En el simulador, el Hardware-> Dispositivo-> está configurado en iPhone (Retina). Y cuando hago una pausa en la aplicación y miro el botón Imagen, veo que la escala está configurada en 2.

¡Esto funciona como se esperaba!

Sin embargo, cuando conecto mi iPhone 4 y ejecuto la aplicación aparece la imagen de menor resolución. Y, cuando pause la aplicación y miro el objeto buttonImage, puedo ver que la escala es 1.

Este no es el comportamiento esperado.

alguna idea acerca de por qué esto es diferente entre el simulador y el dispositivo iOS real?

Es éste un problema conocido? ¿Hay una solución conocida?

Gracias, Brian.

+0

limpieza Try y reconstruir el proyecto si ha añadido recientemente las nuevas imágenes - a menudo las imágenes no son recogidas si ha cambiado el nombre de los archivos existentes. – jrturton

Respuesta

17

Los nombres de archivo son mayúsculas y minúsculas en el iPhone, pero no en el simulador de iPhone. Debe usar @2x en lugar de @2X.

+0

¡Buen lugar, ojos de águila! – jrturton

+1

Sí, ese era el problema. Cambié el 2X a 2x y ahora la imagen de la retina aparece en el iPhone 4. ¡Gracias por señalarlo! –

Cuestiones relacionadas