我有一组从 NSURL 加载的图像,可以滚动和捏合缩放。我能够实现滚动部分,但是当我尝试缩放第一个图像之外的任何图像时,滚动被卡住,图像上的比例也被卡住。这是我的代码:
scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 100, SCREEN_WIDTH, self.view.bounds.size.height)];
scrollView.showsHorizontalScrollIndicator = FALSE;
scrollView.maximumZoomScale = 4.0;
scrollView.minimumZoomScale = 1.0;
scrollView.delegate = self;
[self.view addSubview:scrollView];
for (int i=0; i<[listOfImagesZoom count]; i++) {
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(leftMargin, self.scrollView.bounds.origin.y-100, SCREEN_WIDTH, self.view.bounds.size.height-100)];
// [imageView setImage:[UIImage imageNamed:@"img_def.png"]];
NSString *urlImage1 = (NSString*)[listOfImagesZoom objectAtIndex:i];
NSString *productImageURL1 = [urlImage1 stringByReplacingOccurrencesOfString:@"~" withString:@""];
NSString *productImageURL2 = [productImageURL1 stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSString* urlImage = [NSString stringWithFormat:@"http://sagana-ideas.azurewebsites.net%@", productImageURL2];
NSURL *imgURL=[NSURL URLWithString:urlImage];
[imageView setImageWithURL:imgURL placeholderImage:[UIImage imageNamed:@"ex_product.png"]];
imageView.contentMode = UIViewContentModeScaleAspectFit;
[scrollView addSubview:imageView];
[imageView setUserInteractionEnabled:NO];
imageView.tag = i;
leftMargin += SCREEN_WIDTH;
}
[scrollView setContentSize:CGSizeMake(leftMargin, 0)];
[scrollView setPagingEnabled:YES];
scrollView.delegate = self;
我什至实现了
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return imageView;
}
如果只有单个图像要加载,它可以工作,但当有超过 1 个图像时,它会卡住。
最佳答案
您需要一个 ScrollView 来显示您的图像列表。每个图像都显示一个 ScrollView (一个子类 ScrollView )以执行放大/缩小。 试着看看这个:MWPhotoBrowser
关于ios - 放大 UIScrollView - 无法缩放到单个图像之外并滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22525605/