【发布时间】:2011-05-27 07:11:19
【问题描述】:
捏缩放的实现是通过使用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++;
}
这里唯一有问题的是当加载下一张图片时,也就是“放大”,我们希望图片处于正常模式。
我们可以实现它吗(通过在我们的changeImageSlide 方法或任何地方对其进行编码以缩小)?
如果是,那怎么办?
如果没有,那还有其他选择吗?
谢谢。
【问题讨论】:
标签: iphone objective-c uiscrollview uiimageview zooming