2010-07-05 3 views
0

d'Apple dit que vous devez avoir @ 2x versions de vos images et utiliser un des trucs commeiphone 4 - images de chargement x anciens appareils

UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension 

qui sélectionnera les lowres et engage les versions de l'image Bouton, en fonction de l'iPhone version (3G/3GS ou 4). Mais que faire si l'application est aussi pour iPad?

L'iPad chargera-t-il l'image du bouton même si je ne spécifie pas l'extension?

merci.

Répondre

2

Soit

UIImage* anImage = [UIImage imageNamed:@"Button"]; // without the extension 

ou

UIImage* anImage = [UIImage imageNamed:@"Button.png"]; // with the extension 

travaillera sur iOS4, puisque Apple vous découragea essentiellement d'utiliser toute autre image que le format PNG, vous pouvez omettre l'effort.

Les deux fonctionnent également pour les fichiers @ 2x.png. Assurez-vous que les fichiers @ 2x ont été ajoutés à votre projet.

+0

Je l'ai fait mais les images ne se chargent pas dans les embauches ... du moins pas sur le simulateur (pas d'iPhone 4 bientôt sur mon pays). Pouvez-vous s'il vous plaît confirmer si les images chargent des images sur le simulateur, une fois que vous les avez sur votre projet? Merci! – SpaceDog

+0

Oui, ils se présentent bien. –

1

Oui, il va charger la version standard (lores). Edit: N'oubliez pas de tester sur le simulateur ou le périphérique réel, car il y a quelques twiddles, mais imageNamed: s'est avéré bien fonctionner jusqu'à présent.

6

L'iPad chargera-t-il l'image du bouton même si je ne spécifie pas l'extension?

No. From the doc:

  • Considérations particulières

    Sur iOS 4 et plus tard, le nom du fichier n'est pas nécessaire de préciser l'extension de nom de fichier. Avant iOS 4, vous devez spécifier l'extension du nom de fichier.

Depuis iPad est en cours d'exécution 3.2, vous devez inclure la partie .png. Cependant, l'écriture

UIImage* anImage = [UIImage imageNamed:@"Button.png"]; 

n'empêchera pas le système de trouver [email protected] sur 4.0.

2

en complément de la réponse, je dois mentionner this page:

le problème est que le SDK est cassé et en dépit d'Apple mentionner que d'autres méthodes au-delà imageNamed charger les images @ 2x, ils ne le font pas. Honte à Apple pour nous faire perdre du temps quand leur SDK est cassé.

le lien mentionné a la solution au problème, en utilisant un moyen de contourner.

Questions connexes