2011-05-27 93 views
0

變焦是被使用UIScrollView,並把「UIImageView`裏面,通過下面的代碼完成捏的實施:我們可以通過縮放縮放的代碼縮小圖像嗎?

-(void)viewDidLoad{ 
    slideShowImageViewScrollView.maximumZoomScale = 4.0; 
    slideShowImageViewScrollView.minimumZoomScale = 1.0; 
    slideShowImageViewScrollView.clipsToBounds = YES; 
    slideShowImageViewScrollView.delegate = self; 
    slideShowImageViewScrollView.scrollEnabled = NO; 
} 

然後檢查zoomScale滾動後啓用爲:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView 
{ 
if (scrollView.zoomScale!=1.0) 
{ 
    slideShowImageViewScrollView.scrollEnabled = YES; 
} 
else 
{ 
    slideShowImageViewScrollView.scrollEnabled = NO; 
} 
} 

這裏是放大視圖,滾動視圖

- (UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
return slideShowImageView; 
} 

現在,使用定時器UIImageView圖像一段時間之後發生改變,通過下面的代碼:

- (void) changeImageSlide 
{ 
    if (imageCounter>=totalNoOfImages-1) 
    { 
     imageCounter=0; 
    } 
    NSString *str = [NSString stringWithFormat:@"%@.jpg",[copyOf_myGlobleArrayOfImageIds objectAtIndex:imageCounter]]; 
    mainSlideShowImageView setImage:[UIImage imageNamed:str]]; 
    [mainSlideShowImageView setTag:[[copyOf_myGlobleArrayOfImageIds objectAtIndex:imageCounter] intValue]];  
    imageCounter++; 
} 

唯一problamatic這裏是下一個圖像加載,這也是,「的放大」,我們想要在正常模式下的圖像。
我們可以實現它嗎(通過編碼縮小我們的changeImageSlide方法或任何地方)?
如果是,那麼如何?
如果不是,那麼是否有其他選擇?

謝謝。

回答

0

您可以在滾動視圖上設置縮放比例以將其重置爲1.0。您甚至可以針對圖像存儲縮放級別,以便保留每個圖像的單獨縮放設置。

2

當您加載新圖像時,請將scrollView的zoomScale設置爲1.0。

[slideShowImageViewScrollView setZoomScale:1.0 animated:NO]; 
+0

複製其他人的答案是不禮貌的。 – 2011-05-27 07:21:24

+3

我沒有。當我回應時沒有回答。我在標籤中打開問題,所以也許你在我看到該標籤時回答了。你真的認爲我必須複製你的答案嗎?無論如何,你的代碼片斷在哪裏?我從你那裏複製過嗎? 嘿,rptwsthi,請選擇Simon的答案作爲正確答案。我不是爲了積分。 – mahboudz 2011-05-27 07:49:51