2011-05-27 89 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