web-dev-qa-db-fra.com

Comment définir l'image sur UIImage

Comment définir une image sur UIImage object . Par exemple:

UIImage *img = [[UIImage alloc] init];
[img setImage:[UIImage imageNamed:@"anyImageName"]];

Mon objet UIImage est déclaré dans le fichier .h et alloué dans la méthode init, je dois définir l'image dans la méthode viewDidLoad . Des idées?

29
Shamsiddin
UIImage *img = [UIImage imageNamed:@"anyImageName"];

imageNamed:
Renvoie l'objet image associé au nom de fichier spécifié.

    + (UIImage *)imageNamed:(NSString *)name

Paramètres
prénom
Le nom du fichier. S'il s'agit du premier chargement de l'image, la méthode recherche une image avec le nom spécifié dans le fichier bundle principal de l’application.
Valeur de retour
L'objet image pour le fichier spécifié ou nil si la méthode n'a pas pu trouver l'image spécifiée.

Discussion
Cette méthode recherche dans les caches système un objet image portant le nom spécifié et renvoie cet objet s'il existe. Si un correspondant Si l'objet image n'est pas déjà dans le cache, cette méthode charge l'image les données du fichier spécifié, le met en cache, puis renvoie le fichier objet résultant.

53
vikingosegundo

Créez un UIImageView et ajoutez-y UIImage:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image Name"]] ;

Puis ajoutez-le à votre vue: 

[self.view addSubView: imageView];
10
Shailesh

Il suffit de suivre ceci

UIImageView *imgview = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 400)];
[imgview setImage:[UIImage imageNamed:@"YourImageName"]];
[imgview setContentMode:UIViewContentModeScaleAspectFit];
[self.view addSubview:imgview];
1
Dixit Akabari

Il y a une erreur sur cette ligne:

[img setImage:[UIImage imageNamed@"anyImageName"]]; 

CA devrait etre:

[img setImage:[UIImage imageNamed:@"anyImageName"]]; 
1
Jeremy1026
UIImage *img = [UIImage imageNamed@"aImageName"];
1
Maulik

peut être:

UIImage *img = [[UIImage alloc] init];

et quand vous voulez changer l'image:

img = [UIImage imageNamed:@"nameOfPng.png"];

mais l'objet n'était pas au même endroit dans la mémoire, mais si vous utilisez le pointeur, le même pointeur pointera vers la dernière image chargée.

1
Vincent Saluzzo

Vous ne pouvez pas allouer UIImage, cela est impossible . Un code correct avec UIImageView allouer:

UIImageView *_image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"something.png"]] ;

Dessiner une image:

CGContextDrawImage(context, rect, _image.image.CGImage);
0
theWalker

Commencez par déclarer UIImageView et donnez-lui un cadre

UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake( 10.0f, 15.0f, 40.0f,40.0f )];
        [imageView setBackgroundColor: [UIColor clearColor]];
        [imageView setImage:[UIImage imageNamed:@"comments_profile_image.png"]];
        [self.view addSubview: imageView];
0
Ankit Jain

Comme vikingosgundo l'a dit, mais gardez à l'esprit que si vous utilisez [UIImage imageNamed:image], l'image est mise en cache et consomme de la mémoire. Donc, sauf si vous prévoyez d'utiliser la même image à plusieurs endroits, vous devez charger l'image avec imageWithContentsOfFile: et imageWithData:

Cela vous fera économiser beaucoup de mémoire et accélérera votre application.

0
Trausti Thor

il suffit de changer cette ligne 

[img setImage:[UIImage imageNamed:@"anyImageName"]];

avec ligne suivante

img = [UIImage imageNamed:@"anyImageName"];
0
BHASKAR

Essayez ce code à 100% de travail ....

UIImageView * imageview = [[UIImageView alloc] initWithFrame:CGRectMake(20,100, 80, 80)];
imageview.image = [UIImage imageNamed:@"myimage.jpg"];
[self.view  addSubview:imageview];
0
P.J.Radadiya

Vous pouvez définir une image dans un objet UIImage de la manière suivante:

  1. UIImage *imageObject = [UIImage imageNamed:@"imageFileName"]; mais en initialisant UIImage Objet comme celui-ci, l'image est toujours stockée dans la mémoire cache même si vous le rendez nil comme imageObject=nil;

Il vaut mieux suivre ceci:

  1. NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"imageFilename" ofType:@"imageFile_Extension"];

    UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
    

EXEMPLE: NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"abc" ofType:@"png"];

UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
0
Satish Azad