J'ai regardé quelques articles et discussions comme celui-ci ici et ici sur les résolutions d'image que les nouveaux iPhones utiliseront des images @ 3x pour l'affichage. Est-ce vrai?
Cela veut-il dire que nous devrons conserver trois images? Disons par exemple que j'ai une image de 50 X 50, dois-je garder 3 images pour optimiser le look des nouveaux iPhones?
- Normale (50 X 50)
- @ 2x - Rétine (100 X 100)
- @ 3x - Retina HD (150 X 150)
Ou les nouveaux téléphones utiliseront-ils uniquement des images @ 2x et il n'y a rien de tel que @ 3x?
J'ai testé en faisant un exemple de projet et tous les simulateurs semblent utiliser des images @ 3x, c'est déroutant.
Éditer
Voici quelques informations supplémentaires
- 3GS (163 ppp donc utilisez Normal)
- 4, 4s, 5 et 5s (326 ppp donc nous utilisons @ 2x)
- 6 (326 ppp donc il semble qu'il utilisera @ 2x)
- 6 plus (401 ppp ici réside la confusion)
Éditer
Sur la base des réponses données par Tsob et nitin, j'ai ajouté des images @ 3x à mon projet.
Edition informative
Je vois que peu d'utilisateurs ne savent pas pourquoi l'iPhone 6 utilise des images @ 2x même s'il a une résolution plus élevée, la raison en est
L'iPhone 6 peut avoir une résolution différente mais a la même densité de pouce par pixel (PPI)
- La résolution concerne un nombre absolu de pixels.
- La densité (aka Pixels par pouce - PPI) concerne un nombre relatif de pixels par pouce qui est le même dans le cas de l'iPhone 6 et des iPhone précédents, mais différent dans l'iPhone 6 plus.
En savoir plus à ce sujet ici dans ce fil
Par conséquent, l'iPhone 6 utilise l'image @ 2x comme les iPhones 4, 5 et 5S car il a le même PPI et l'iPhone 6 plus utilise @ 3x.
la source
Réponses:
J'ai essayé dans un exemple de projet d'utiliser des images standard, @ 2x et @ 3x, et le simulateur iPhone 6+ utilise l'image @ 3x. Il semblerait donc qu'il y ait @ 3x images à faire (si le simulateur reproduit réellement le comportement de l'appareil). Mais ce qui est étrange, c'est que tous les appareils (simulateurs) semblent utiliser cette image @ 3x lorsqu'elle se trouve sur la structure du projet, l'iPhone 4S / iPhone 5 aussi.
Le manque de communication d'Apple sur une structure potentielle @ 3x, alors qu'ils demandent aux développeurs de publier leurs applications iOS8, est assez déroutant, surtout quand on voit ces résultats sur le simulateur.
** Modifier à partir du site Web d'Apple **: également trouvé dans la section "Quoi de neuf sur iOS 8" sur l'espace développeur d'Apple:
Je ne comprends toujours pas pourquoi tous les appareils semblent charger le @ 3x. C'est peut-être parce que j'utilise des fichiers normaux et non des xcassets? J'essaierai bientôt.
Modifier après d'autres tests: Ok, il semble qu'iOS8 a un discours à ce sujet. Lors des tests sur un simulateur iOS 7.1 iPhone 5, il utilise correctement l'image @ 2x. Mais lors du lancement de la même chose sur iOS 8, il utilise le @ 3x sur l'iPhone 5. Je ne sais pas si c'est un comportement souhaité ou une erreur / bogue dans iOS8 GM ou des simulateurs dans Xcode 6.
la source
METTRE À JOUR:
Nouveau lien pour la taille de l'image des icônes par apple.
https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/
Oui, c'est vrai ici, c'est Apple fournit une documentation officielle concernant la taille de l'icône ou de l'image
vous devez définir des images pour iPhone6 et iPhone6 +
Pour iPhone 6:
Pour iPhone 6 Plus:
Pour plus d'informations sur les images et sa résolution, c'est le meilleur article jamais utile
Pour définir la taille des images pour les commandes, vous pouvez définir 1x @ 2x et @ 3x comme suit:
la source
Créez différentes versions d'une image dans votre catalogue d'actifs de sorte que l'image elle-même vous indique de quelle version il s'agit:
Maintenant, exécutez l'application sur chaque simulateur à tour de rôle. Vous verrez que l'image 3x n'est utilisée que sur l'iPhone 6 Plus.
La même chose est vraie si les images sont tirées du bundle d'applications en utilisant leurs noms (par exemple one.png , [email protected] et [email protected] ) en appelant
imageNamed:
et en les affectant à une vue d'image.(Cependant, il y a une différence si vous attribuez l'image à une vue d'image dans Interface Builder - la version 2x est ignorée sur les appareils à double résolution. Il s'agit probablement d'un bogue, apparemment un bogue
pathForResource:ofType:
.)la source
ios essaiera toujours de prendre la meilleure image, mais reviendra à d'autres options .. donc si vous n'avez que des images normales dans l'application et qu'il a besoin de @ 2x images, il utilisera les images normales.
si vous ne mettez que @ 2x dans le projet et que vous ouvrez l'application sur un appareil normal, les images seront réduites pour les afficher.
si vous ciblez les appareils ios7 et ios8 et que vous voulez la meilleure qualité, vous auriez besoin de @ 2x et @ 3x pour le téléphone et normal et @ 2x pour les actifs ipad, car il n'y a plus de téléphone sans rétine ni d'ipad @ 3x.
il est peut-être préférable de créer les actifs dans l'application à partir d'un graphique vectoriel ... consultez http://mattgemmell.com/using-pdf-images-in-ios-apps/
la source