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 ?
Réponses
Trop de publicités?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")];
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.
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.
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.