34 votes

Nouveau nom d'image pour l'iPhone 5

Avec la rétine nous faisons des images avec le @2x dans le nom. Je vois où l'image par défaut doit être default-568h@2x mais cela ne semble pas être le cas pour les autres images. Par exemple, si mon arrière-plan est bg.png et bg@2x.png, j'ai essayé d'utiliser bg-568h@2x.png mais cela ne fonctionne pas. Quelqu'un peut-il me dire comment les images doivent être nommées pour être compatibles avec l'iPhone 5 ?

55voto

avishic Points 1295

Pas de suffixe spécial pour l'iPhone 5 (écran 4''), juste le fichier spécifique Default-568h@2x.png.

Voici une macro pour le faire :

// iPhone 5 support
#define ASSET_BY_SCREEN_HEIGHT(regular, longScreen) (([[UIScreen mainScreen] bounds].size.height <= 480.0) ? regular : longScreen)

Utilisation : (noms des actifs - image.png, image@2x.png, image-568h@2x.png)

myImage = [UIImage imageNamed:ASSET_BY_SCREEN_HEIGHT(@"image",@"image-568h")];

24voto

Jason Coco Points 52303

Il n'y a pas de nom d'image spécifique. L'option Default-568h@2x lancera cette image sur un iPhone 5 ou un iPod Touch 5G et activera le mode sans boîte à lettres. Ensuite, vous devez concevoir vos vues pour qu'elles soient flexibles. Il n'y a pas de "nom d'image" spécial ou autre pour la nouvelle taille.

Pour votre arrière-plan, par exemple, vous devriez probablement utiliser une image capable de s'étirer ou d'être mise en mosaïque et la configurer correctement avant de la définir.

1voto

Wasim Points 999

L'iPhone 5 n'a pas une densité de pixels différente, c'est le même PPI d'affichage de la rétine que l'iPhone 4/4S, c'est juste une taille d'écran différente. Les images @2x seront utilisées sur l'iPhone 5 ainsi que sur le 4/4S.

1voto

MonsieurDart Points 3133

Pour compléter la réponse de Jason, je proposerais : pourquoi ne pas remplacer l'interface de l'utilisateur par l'interface de l'utilisateur ? UIImage 's imageNamed: pour qu'elle ajoute le suffixe "-568" au nom de votre image ? Ou ajouter une nouvelle méthode appelée resolutionAdaptedImageNamed: à la UIImage peut-être en utilisant une catégorie.

Si j'ai un peu de temps dans les prochains jours, j'essaierai de poster le code pour cela.

Attention : ne fonctionnera pas pour les images dans les fichiers Nib.

1voto

hsarret Points 181

Si vous utilisez Xcode 5, vous pouvez utiliser le catalogue d'actifs (voir l'utilisation ici La documentation d'Apple )

Une fois que votre catalogue d'actifs est créé [ UIImage imagedNamed: @"your_image_set" ] permettra d'obtenir la bonne image en fonction de l'appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X