2012-09-20 15 views
29

¿Cuál es la nueva convención de nomenclatura para imágenes para la pantalla Retina de 4 pulgadas?¿Qué nombre de imágenes para el tamaño de pantalla del iPhone 5?

Para una imagen llamada background.png agrega @ 2x al nombre ([email protected]) para indicar a iOS para el uso que uno de los dispositivos con la pantalla retina.

¿Cuál sería el sufijo para el tamaño de pantalla del iPhone 5?

+0

Ver http://stackoverflow.com/questions/12518879/extend-app-for-iphone-5-best-practice para obtener información relacionada, que es el único "convención" que parece existir. De lo contrario, continúe usando @ 2x como antes. –

Respuesta

61

Puede usar mis #define s para ayudarle con estas imágenes:

#define isPhone568 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568) 
#define iPhone568ImageNamed(image) (isPhone568 ? [NSString stringWithFormat:@"%@-568h.%@", [image stringByDeletingPathExtension], [image pathExtension]] : image) 
#define iPhone568Image(image) ([UIImage imageNamed:iPhone568ImageNamed(image)]) 

acaba de dar a sus imágenes la notación [email protected], y utilizar iPhone568ImageNamed para obtener un nombre de nombre estándar o iPhone 5/nuevo iPod.

Ejemplo de uso de los comentarios:

self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"mainscreen.png")]]; 
+0

P: Si el nombre se transfiere como "foo.png" ¿no termina convirtiendo a "foo.png-568h" en su lugar? –

+7

Ahh, ¿qué tal esto? #define iPhone568ImageNamed (image) (isPhone568? [NSString stringWithFormat: @ "% @ - 568h.% @", [image stringByDeletingPathExtension], [image pathExtension]]: image) –

+0

Es una buena idea, la agregaré a la respuesta . –

Cuestiones relacionadas