Scaling in UIScrollView not working

can someone help me do the scaling using UIScrollView?

I am trying to add three images extracted from a url and display them using a UIScrollView. I can do part of the display, but scaling does not work. Hope someone can show me some lights.

My .h file

@interface TestScrollViewViewController : UIViewController <UIScrollViewDelegate>{ IBOutlet UIScrollView *scrollView; UIImageView *subview; } @property (nonatomic, retain) UIScrollView *scrollView; @property (nonatomic, retain) UIImageView *subview; @end 

.m file

 - (void)viewDidLoad { [super viewDidLoad]; UIImage *page1 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/001.jpg"]]]; UIImage *page2 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/002.jpg"]]]; UIImage *page3 = [[UIImage alloc] initWithData:[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://abc.com/003.jpg"]]]; NSArray *images = [NSArray arrayWithObjects: page1, page2, page3, nil]; for (int i = 0; i < images.count; i++) { CGRect frame; frame.origin.x = self.scrollView.frame.size.width * i; frame.origin.y = 0; frame.size = self.scrollView.frame.size; subview = [[UIImageView alloc] initWithFrame:frame]; subview.image = [images objectAtIndex:i]; self.scrollView.minimumZoomScale=0.5; self.scrollView.maximumZoomScale=6.0; self.scrollView.delegate=self; [self.scrollView addSubview:subview]; [subview release]; } self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * images.count, self.scrollView.frame.size.height); } 

and this is the viewForZoomingInScrollView method

 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.scrollView; } 

Hope someone can help. Thanks.

Lawrence

+8
ios uiscrollview zooming
source share
2 answers

Replace

 return self.scrollView; 

FROM

 return subview; 
+16
source share
 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { return self.scrollView; } 

What's wrong. You cannot return the scroll view here, you must return it in the view you want to enlarge.

+3
source share

All Articles