para library for development developer desarrollador app ios iphone ios8 xcode6

library - ios developer resources



¿Xcode 6 cómo configurar imágenes separadas @ 2x para dispositivos iPhone 5 y 6? (3)

Images.xcassets tiene la opción de proporcionar una imagen separada para iPhone 5 (Retina 4 @ 2x), iPhone 6 (@ 2x) y iPhone 6 plus (3x).

No hay opción para el activo del iPhone 4 (probablemente Apple esté deteniendo el soporte del iPhone 4), en cambio, se necesitan @ 2x imágenes (modo de escala) para el iPhone 4 también, pero puede hacer algo como Esta publicación para el iPhone 4

Actualizar Xcode 7

No hay opción para imágenes separadas con Images.xcassets ahora en Xcode 7, tenemos que usar las mismas imágenes 2x para todos los dispositivos Retina y 3x para el dispositivo Retina HD

Quiero especificar diferentes imágenes de fondo para iPhone en cada dispositivo. Me gusta esto

iPhone 6 Plus 1242x2208 pixels [email protected] iPhone 6 750x1334 pixels [email protected] iPhone 5 640x1136 pixels [email protected] iPhone 4 640x960 pixels [email protected] iPhone 3GS 320x480 pixels bg.png

En LaunchImage hay una opción disponible para especificar imágenes para el dispositivo Retina HD 4.7 . Así que no hay problema para lanzar imágenes.

En el archivo .xcassets , tengo opción para 1x , 2x , Retina 4 2x y 3x . Pero no hay opción para el iPhone 6 (1334x750) .

Entonces, ¿cómo proporcionar 1334x750 px imagen de 1334x750 px para un dispositivo iPhone 6? Buscando alguna solución utilizando el archivo .xcassets , no cargando imágenes para cada dispositivo mediante programación.

Ya he visitado las preguntas de las SO relacionadas, pero ninguna de ellas responde específicamente para imágenes de dispositivos iPhone 6.

Resolución del iPhone 6 Plus confusión: ¿Xcode o el sitio web de Apple? Para desarrollo

xcode 6 catálogo de activos iphone 6


Si quiere hacer cosas diferentes explícitamente en diferentes dispositivos, necesita hacerlo en código por ahora, como dijo Valar Morghulis .

NSNumber *screenWidth = @([UIScreen mainScreen].bounds.size.width); NSString *imageName = [NSString stringWithFormat:@"image-%@", screenWidth]; UIImage *image = [UIImage imageNamed:imageName];

O, puede usar la clase UIDevice para obtener esa información. Tiene varios métodos con devoluciones booleanas que puede utilizar para obtener información diversa sobre el dispositivo:

[[UIDevice currentDevice] platform] [[UIDevice currentDevice] hasRetinaDisplay] [[UIDevice currentDevice] hasMultitasking]

O, puede incluir <sys/sysctl.h> y;

NSString *platform = [self platform]; if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([platform isEqualToString:@"iPhone3,3"]) return @"Verizon iPhone 4"; if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)"; if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (GSM+CDMA)";

así sucesivamente y así sucesivamente. Puedes aprender sobre las cadenas de dispositivos here .

Hay otras formas de hacerlo mediante programación, pero a partir de ahora, no existe una forma explícita de hacerlo en el generador de interfaces que conozco. Siéntase libre de señalar mis errores.


establece el nombre de tu imagen como este;

imagen-320 @ 2x // iPhone 5

imagen-375 @ 2x // iPhone 6

NSNumber *screenWidth = @([UIScreen mainScreen].bounds.size.width); NSString *imageName = [NSString stringWithFormat:@"image-%@", screenWidth]; UIImage *image = [UIImage imageNamed:imageName];