12

J'ai une question: Je veux éviter [UIImage imageNamed:]. donc je l'ai fait:UIImage initWithContentsOfFile ne fonctionne pas

UIImage *prodImg = [[UIImage alloc] initWithContentsOfFile:@"myimage.png"]; 
controller.productImg.image = prodImg; 
[prodImg release]; 

Mais maintenant, l'image n'apparaît pas plus.

Est-ce que quelqu'un sait comment faire fonctionner ça?

+1

Ok, je l'ai eu à travailler avec UIImage * prodImg = [[UIImage alloc] initWithContentsOfFile: [[ NSBundle mainBundle] pathForResource: @ "mon image" deType: @ "png"]]; – Tanner

+0

suggestion: il suffit d'utiliser '[UIImage imageNamed: @" myimage.png "]' car il ajoute la mise en cache et l'extension de l'appareil ("@ 2x", "~ ipad") logique –

+2

Avec [UIImage imageNamed: @ "myimage.png"] Je reçois des avertissements de mémoire, voir ici http://www.alexcurylo.com/blog/2009/01/13/imagenamed-is-evil/ – Tanner

Répondre

25

Le code ci-dessus ne fonctionne pas parce bonne façon de le faire est-

NSString *thePath = [[NSBundle mainBundle] pathForResource:@"default" ofType:@"jpeg"]; 
UIImage *prodImg = [UIImage imageWithContentsOfFile:thePath]; 
controller.productImg.image = prodImg; 
[prodImg release]; 

;)

Questions connexes