web-dev-qa-db-fra.com

Xcode 6 - xcassets pour la prise en charge universelle des images

Travaille actuellement sur un projet universel SpriteKit. Je prendrai en charge les appareils suivants:

iPhone 4/s, iPhone 5/c/s, iPhone 6, iPhone 6+

iPad non ret, iPad rétine

enter image description here

Je suis confus sur la partie iPhone. J'ai déjà 4 versions pour mon fond Sprite pour les 4 résolutions d'écran différentes des iPhones. Mais qui va à qui?

Je sais que le 3x est pour le 6+, et je pense que le 5/c/s va à la Retina 4 2x, mais je ne sais pas où l'iPhone4/s, et 6 vont. Quelqu'un sait?

Remarque secondaire, lorsque je crée une image de lancement dans mon fichier xcassets, ces options me sont présentées. Elles contiennent en principe tout le périphérique que je prend en charge. Je me demande juste pourquoi ce n'est pas aussi le cas lors de la création d'un ensemble d'images enter image description here

Aussi, comment abordez-vous la création d’images/sprites pour une application universelle? Maintenant que les nouveaux iPhone 6 et 6 plus sont sortis, j'ai encore 2 résolutions à prendre en charge, ce qui est toujours déroutant pour moi car je suis toujours débutant.

51
aresz

C'est un peu déroutant - voici comment je le comprends (c'est en référence à l'image du haut):

  • 1x les images sont pour l'iPhone d'origine à travers le 3GS - appareils de résolution "standard" (écrans 3,5 ")

  • Les images 2x sont destinées aux iPhone 4 et 4S (écrans Retina 3.5 ") et sont également utilisées pour l'iPhone 6.

  • Retina 4 2x sont pour l'iPhone 5 et 5s (écrans 4 "Retina)

  • 3x images concernent le nouvel iPhone 6+ (écran 5,5 "super-rétine [3x])

Je crois que l'iPhone 6 (écran 4.7 ") utilisera les images 2x Retina 4, mais je devrais le tester.

Remarque secondaire, lorsque je crée une image de lancement dans mon fichier xcassets, ces options me sont présentées. Elles contiennent en principe tout le périphérique que je prend en charge. Je me demande juste pourquoi ce n'est pas aussi le cas lors de la création d'un ensemble d'images

Si vous comparez les deux images, l’image inférieure a tout ce que l’image supérieure a, sauf un graphique 1x pour iPhone. Vous n'avez pas besoin de cela si vous ne supportez que iOS 7 et les versions ultérieures, car iOS 7 ne fonctionne sur aucun appareil de type téléphone autre que Retina. Pour être honnête, je ne comprends pas pourquoi l’image du haut comporte une option graphique 1x sur un iPhone - peut-être parce que vous avez coché la case "iPhone" dans la barre latérale?

Aussi, comment abordez-vous la création d’images/sprites pour une application universelle?

Pour la plupart des images non plein écran (comme un logo), vous ne disposez réellement que de 3 résolutions - standard (1x), Retina (2x) et iPhone 6+ (3x). Celles-ci sont simplement différentes qualité d'images, pas vraiment de tailles différentes. Donc, si vous avez une image 10x10 sur un appareil standard, cela signifie que vous avez besoin d'une image 20x20 sur un appareil Retina et d'une image 30x30 sur un iPhone 6+. Sur tous les appareils, ils apparaîtront comme une image 10x10.

Un excellent outil que j'ai utilisé pour gérer différentes résolutions d'icônes est iConify .

Je les crée à la taille maximale dont j'ai besoin (30x30 [@ 3x] pour une image que je souhaite afficher au format 10x10 sur un périphérique), puis enregistrez-la au format png et redimensionnez les copies au format 20x20 [@ 2x] et 10x10 [standard]. Une solution meilleure serait de créer et d’utiliser images vectorielles , ce qui redimensionnerait mieux pour n’importe quelle taille.

86
Undo

Dans 1x place image avec résolution 320 x 480.
Dans une image 2x, résolution 640 x 960.
Dans Retina 4, placez 2x l’image avec une résolution de 640 x 1136.
en 3 fois l’image avec une résolution de 1242 x 2208.

Les images de Retina 4 2x passeront à la résolution 750 x 1334.
Les images 3x passeront à une résolution de 1080 x 1920.

Vous pouvez également visiter ces liens pour les images de l'écran de lancement:
http://www.paintcodeapp.com/news/iphone-6-screens-demystified
http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions


Pour toutes les autres images, résolution et taille:
https://developer.Apple.com/ios/human-interface-guidelines/graphics/launch-screen/https://developer.Apple.com/ ios/lignes directrices-interface-homme/graphiques/image-taille-et-résolution /https://developer.Apple.com/ios/human-interface-guidelines/graphics/custom-icons/


Comment utiliser Image.xcassets:
https://www.youtube.com/watch?v=_36Y6rDcKP0&list=PLXCowKcXAVgrCe2Lezv0acRf4adQLshv2

J'espère que cela sera plus utile.

35
Dhaivat Vyas

Si vous avez vos images de lancement dans un fichier xcasset, vous pouvez procéder comme suit dans Xcode 6.

Sélectionnez la ressource d'image de lancement, sélectionnez une résolution spécifique (1x, 2x, Retina 4, etc.) et ouvrez l'inspecteur d'attributs (voir l'image ci-dessous).

enter image description here

Sous la section "Image", vous aurez un attribut "Taille attendue".

enter image description here

9
Lukas Kalinski

Dans images.xcassets, vous pouvez ajouter différents supports de périphériques en cliquant avec le bouton droit de la souris, comme indiqué dans le snap.

enter image description here

Edit: Eh bien, cela ne semble pas fonctionner lorsque je glisse n déposer des images vers des espaces réservés. Comme ci-dessous

enter image description here

Je ne sais pas pourquoi cela agit bizarre sur mon Xcode 6.4.

Éditer # 2:

Je vois un bogue de Apple ici. Je peux sélectionner "Universel" avec n'importe quel périphérique en cliquant avec le bouton droit de la souris, comme vous pouvez le voir sur la première image ci-dessus. Mais via l'inspecteur d'attributs, je peux correctement sélectionner l'un ou l'autre " Universels 'ou spécifiques comme montré ici

enter image description here

Éditer # 3:

Dans Xcode 7 , l'inspecteur d'attributs a été modifié et maintenant, il offre une option identique à celle du clic droit. Ainsi, au lieu d'appareils "universels" ou spécifiques, il propose maintenant de tout sélectionner.

enter image description here

5
zeeawan

Il existe un seul outil: AVXCassets Generator avec lequel vous pouvez générer directement un fichier XCAssets pour toutes vos icônes et images en un seul clic.

j'espère que vous l'aimerez.

enter image description here

4
NSSwift