LargeImageDownSize iOS示例代码,限制放大级别

时间:2013-08-07 09:07:40

标签: ios ios4

我目前的要求是在UIImageView上显示大(3000 * 3000)图像并具有放大功能。我发现很少有帖子说CATiledLayer是要走的路。

我已经下载了Apple示例代码"LargeImageDownSizing",其中可以使用缩放功能显示使用CATiledLayer大图像。我的问题是,在这个示例代码中,我必须将放大限制在一定水平,目前它是无限的。

对此的任何帮助都会有很大的帮助。

2 个答案:

答案 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;
}