2013-08-07 43 views
0

我目前的要求是在放大功能的情況下在UIImageView上顯示大型(3000 * 3000)圖像。我遇到幾條帖子,說CATiledLayer是要走的路。LargeImageDownSize iOS示例代碼,限制縮放級別

我已經下載了蘋果示例代碼"LargeImageDownSizing",其中使用CATiledLayer可以顯示大圖像並放大縮小功能。我的問題是,在這個示例代碼中,我必須限制放大到某個級別,目前它是無限的。

任何幫助,這將是很大的幫助。

回答

0

我沒有操作裝配看着從蘋果的示例代碼,但我想這只是設置上的UIScrollView的maximumZoomScale屬性應該做的伎倆

+0

我確實嘗試過,它目前設置爲5.0f,我將它設置爲2.0f,但仍然結果相同,我可以放大無限。 –

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