我目前的要求是在放大功能的情況下在UIImageView
上顯示大型(3000 * 3000)圖像。我遇到幾條帖子,說CATiledLayer
是要走的路。LargeImageDownSize iOS示例代碼,限制縮放級別
我已經下載了蘋果示例代碼"LargeImageDownSizing",其中使用CATiledLayer
可以顯示大圖像並放大縮小功能。我的問題是,在這個示例代碼中,我必須限制放大到某個級別,目前它是無限的。
任何幫助,這將是很大的幫助。
我目前的要求是在放大功能的情況下在UIImageView
上顯示大型(3000 * 3000)圖像。我遇到幾條帖子,說CATiledLayer
是要走的路。LargeImageDownSize iOS示例代碼,限制縮放級別
我已經下載了蘋果示例代碼"LargeImageDownSizing",其中使用CATiledLayer
可以顯示大圖像並放大縮小功能。我的問題是,在這個示例代碼中,我必須限制放大到某個級別,目前它是無限的。
任何幫助,這將是很大的幫助。
我沒有操作裝配看着從蘋果的示例代碼,但我想這只是設置上的UIScrollView的maximumZoomScale
屬性應該做的伎倆
//試試這個..與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;
}
我確實嘗試過,它目前設置爲5.0f,我將它設置爲2.0f,但仍然結果相同,我可以放大無限。 –