我目前的要求是在UIImageView
上显示大(3000 * 3000)图像并具有放大功能。我发现很少有帖子说CATiledLayer
是要走的路。
我已经下载了Apple示例代码"LargeImageDownSizing",其中可以使用缩放功能显示使用CATiledLayer
大图像。我的问题是,在这个示例代码中,我必须将放大限制在一定水平,目前它是无限的。
对此的任何帮助都会有很大的帮助。
答案 0 :(得分:0)
我没有仔细查看Apple的示例代码,但我想只需在UIScrollView上设置maximumZoomScale
属性即可。
答案 1 :(得分:0)
//尝试这个..使用UIScrollview缩放图像的最佳选择
imageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, screenRect.size.height)];
imageScrollView.maximumZoomScale = 2.50;
imageScrollView.minimumZoomScale = 1.00;
imageScrollView.clipsToBounds = YES;
imageScrollView.delegate = self;
[self addSubview:imageScrollView];
imageView_temp = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, screenRect.size.height)];
imageView_temp.contentMode = UIViewContentModeScaleToFill;
imageView_temp.backgroundColor = [UIColor clearColor];
[imageView_temp setUserInteractionEnabled:YES];
originalImagePos = imageView_temp.center;
[imageScrollView addSubview:imageView_temp];
imageScrollView.contentSize = CGSizeMake(imageView_temp.frame.size.width, imageView_temp.frame.size.height);
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return imageView_temp;
}
-(void)resetImageZoom {
NSLog(@"Resetting any image zoom");
CGAffineTransform transform = CGAffineTransformMakeScale(1.0, 1.0);
imageView_temp.transform = transform;
[imageScrollView setContentSize:CGSizeZero];
imageView_temp.center = originalImagePos;
}