我目前的要求是UIImageView
使用放大功能显示大(3000 * 3000)图像。我遇到了一些帖子,说CATiledLayer
这是要走的路。
我已经下载了 Apple 示例代码“LargeImageDownSizing”,其中CATiledLayer
可以使用放大缩小功能显示使用大图像。我的问题是,在这个示例代码中,我必须将放大限制在一定水平,目前它是无限的。
对此的任何帮助都会有很大帮助。
我目前的要求是UIImageView
使用放大功能显示大(3000 * 3000)图像。我遇到了一些帖子,说CATiledLayer
这是要走的路。
我已经下载了 Apple 示例代码“LargeImageDownSizing”,其中CATiledLayer
可以使用放大缩小功能显示使用大图像。我的问题是,在这个示例代码中,我必须将放大限制在一定水平,目前它是无限的。
对此的任何帮助都会有很大帮助。
我没有仔细查看 Apple 的示例代码,但我想只需maximumZoomScale
在 UIScrollView 上设置属性就可以了
// 试试这个.. 使用 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;
}