2017-08-26 2 views
-2

Dans mon application, j'ai une image de grande taille 800 x 2000. Et je veux afficher cette image dans UIImageView, aussi cette image est scrollable.Comment afficher une image de grande taille en utilisant UIImageView

J'ai essayé ce code ci-dessous.

UIImage *img=[UIImage imageNamed:@"About_CVR_Detail"]; 
self.aImgView.frame=CGRectMake(0,0, Screen_Width,img.size.height); 
self.aImgView.image=img; 
self.aScrollView.contentSize=CGSizeMake(Screen_Width, self.aImgView.frame.size.height); 

Et TY Aussi celui-ci aussi:

self.aScrollView.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"About_CVR_Detail"]]; 

Merci à l'avance

Répondre

1

Si vous voulez faire défiler l'image oritation horizontale et verticale, vous pouvez faire comme danh dit. Mais si vous ne voulez qu'une seule commande à faire défiler, vous devez définir la largeur ou la hauteur fixe, et garder le rapport, aussi, doit calculer l'autre longueur.

Par exemple:

UIImage *img=[UIImage imageNamed:@"image.png"]; 
self.aImgView.frame=CGRectMake(0,0, Screen_Width, Screen_Width * img.size.height/img.size.width); 
self.aImgView.image=img; 

[self.aScrollView addSubview:self.aImgView]; 
self.aScrollView.contentSize= self.aImgView.frame.size; 

Le code ci-dessus vous permettent de faire défiler uniquement sur oritation verticale.

+0

Merci beaucoup. Cette solution est géniale. :) C'est celui que je veux –

0

Rappelez-vous d'ajouter l'affichage de l'image en tant qu'enfant de la vue de défilement. En outre, vous pouvez simplifier la mise en page en utilisant la taille de l'image (qui met en place la vue de l'image dans initWithImage, dont les bornes peuvent être utilisées pour la vue de défilement contentSize) ..

UIImage *img=[UIImage imageNamed:@"About_CVR_Detail"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:img]; 

[self.aScrollView addSubview:imageView]; 
self.aScrollView.contentSize = imageView.bounds.size;