iOS: comment utiliser les images dans un set personnalisé dans Interface Builder?

J'ai un package où je mets des images dedans.

Le contenu est:

MyBundle.bundle/images/picture1.png MyBundle.bundle/images/picture2.png 

J'ai traîné MyBundle.bundle dans mon projet.

Maintenant, je peux voir ces images dans Interface Builder et je peux même les utiliser. Cependant, lorsque je lance l'application, je ne vois pas les images.

Qu'est-ce qui ne va pas?

Merci,

Assurez-vous que l'set est copié dans les "Phases de construction" des parameters du projet pour la cible.

En outre, essayez de les configurer progressivement et voir s'ils montrent:

 myImageView.image = [UIImage imageNamed:@"MyBundle.bundle/images/picture1.png"]; 

J'ai juste essayé ceci dans mon projet et ai trouvé que ce que vous devez faire est de spécifier l'image avec le nom de package en avant comme ceci:

Image dans IB

Dans l'IB, l'image sera brisée:

Cassé

mais lorsque vous construisez et exécutez votre projet, l'image s'affichera correctement .

Dans votre cas, utilisez MyBundle.bundle/images/picture1.png dans la boîte de MyBundle.bundle/images/picture1.png Interface Builder.

En outre, lorsque vous ne mettez pas le nom du bundle à l'avant, vous obtenez cet avertissement lorsque vous chargez la vue avec l'image du bundle:

 2011-10-12 08:22:16.360 UTDebug[721:11c03] Could not load the "map.png" image referenced from a nib in the bundle with identifier "com.companyname.myproject" 

Vous devez également mettre le XIB dans le bundle. Lorsque vous faites cela, les ressources de l'interface seront relatives à l'set, de sorte qu'ils fonctionneront à la fois dans IB et lorsque vous chargez l'interface dans votre application.

Vous avez peut-être défini un paramètre de construction parasite après avoir créé l'set en tant que cible Mac OS X.

Voir mon autre réponse pour la solution.