UIImageview ne charge pas d'image

yodarkyodark Membre
08:53 modifié dans API AppKit #1
Bonjour à  tous,

j'ai un petit problème j'ai un imageview qui contient une image au départ je voudrais la changer dynamiquement dans le code

je fais

UIImage * myimage = [[[UIImage alloc] initWithContentsOfFile: @&quot;image1.jpg&quot;] retain ];<br />		[statusImage setImage:myimage];

L'image view réagit en effacant l'image actuelle mais n'affiche aucune image c'est normal ? image1.jpg existe bien pourtant

C'est faux ?

Réponses

  • Philippe49Philippe49 Membre
    08:53 modifié #2
    Fait

    UIImage * myimage = [[[UIImage alloc] initWithContentsOfFile: @&quot;image1.jpg&quot;] retain ];<br />NSLog(@&quot;%@&quot;,myImage);
    


    je ne serais pas surpris que la réponse soit (null)


    De plus un alloc-init ne nécessite pas de retain. Ce serait même ici un autorlease qu'il faudrait mettre, myImage étant retenue par l'image view.
  • yodarkyodark Membre
    08:53 modifié #3
    en effet... myImage est null
    Ca veut dire que le fichier n'existe pas ? j'ai essayé avec plusieurs images. Ces images sont pourtant dispo dans l'interface builder et j'ai copié collé le nom. J'ai mis ces images dans ressources
  • AliGatorAliGator Membre, Modérateur
    08:53 modifié #4
    dans 1224678194:

    L'image view réagit en effacant l'image actuelle mais n'affiche aucune image c'est normal ? image1.jpg existe bien pourtant
    Peut-être, mais à  quel endroit ?
    A mon avis il vaut mieux mettre un path complet (récupéré avec pathForResource de NSBunle par exemple ?) que juste le nom de l'image...
  • Philippe49Philippe49 Membre
    octobre 2008 modifié #5
    dans 1224682558:

    en effet... myImage est null
    Ca veut dire que le fichier n'existe pas ? j'ai essayé avec plusieurs images. Ces images sont pourtant dispo dans l'interface builder et j'ai copié collé le nom. J'ai mis ces images dans ressources

    Si ces images sont disponibles dans IB, c'est qu'elles sont dans les ressources de ton projet.
    Dans ce cas tu peux utiliser
    UIImage * myimage = [UIImage imageNamed: @image1.jpg];

    Ou passer par [NSBundle mainBundle] pathForResource:.... comme le signale Aligator
  • yodarkyodark Membre
    08:53 modifié #6
    J'ai utilisé ressource bundle et ca fonctionne correctement !
    Merci !
Connectez-vous ou Inscrivez-vous pour répondre.