2011-06-01 3 views
8

J'ai un problème de chemin avec la méthode UIImage.FromFile(). Mon dossier de solution a 3 projets et le projet principal de l'interface utilisateur contient un dossier Images. Je mis toutes mes images de projet dans ce dossier et je code comme ceci:MonoTouch - Comment spécifier le chemin de l'image de UIImage.FromFile()

UIImage myImg = UIImage.FromFile("Images/someImage.png"); 

J'ai déjà examiné this et tous les sujets these ..

Je mets des images propriété de construction à « contenu » et etc ..

Pouvez-vous me aider:

  • étape par étape l'ajout d'une image dans un dossier spécifique du projet et de l'utiliser de façon dynamique
  • comment utiliser NSBundle et pourquoi nous devons l'utiliser?

Répondre

12

En général, si vous avez faites un clic droit sur le fichier, allé à ses propriétés et il a marqué comme Content alors ce qui suit fonctionnera:

UIImage myImg = UIImage.FromFile(@"Images/someImage.png"); 
+0

Bonjour Mr.Ryan, merci pour votre réponse. J'essaye ceci mais quand je choisis le dossier d'image en tant que contenu, le simulateur d'i-phone gèle. Et pire, il ne répond plus jamais si je change de type de compile quelle que soit l'image. quand je google cette situation, conseille sont "vérifiez votre version d'ios". pouvez-vous aider? pourquoi le simulateur se bloque quand je change de type de compilation d'image? – DortGen

+1

Je ne sais pas - Je n'ai jamais vu ce genre de comportement. Êtes-vous sûr que le gel est le résultat de l'opération de chargement de l'image et pas une autre partie du code? – Ryan

+0

J'ai vérifié plusieurs fois et je détermine que c'est la situation. Mais je vais essayer à nouveau ce soir, je vais créer un projet vide et ajouterai seulement le répertoire images et j'essaierai d'utiliser votre code. Je vais écrire le résultat ici encore. – DortGen

2

Le très first question vous lié à a la solution - vous besoin d'utiliser des chemins de style Unix ("/"), pas des chemins DOS/Windows ("\").

Vous devriez également vérifier soigneusement le boîtier de vos chemins - l'émulateur est plus tolérant d'un cas incorrect que l'appareil réel est. Enfin, regardez à l'intérieur de votre bundle .app pour vérifier que les fichiers image sont bien là où vous pensez qu'ils sont, par rapport à la racine du bundle.

+1

La question utilise déjà des chemins de style Unix! – andynormancx

+3

C'est parce que la question a été éditée APRÈS avoir fait ma réponse. – Jason

Questions connexes