我有UIScrollView。当我缩放图像时,我应该先显示小图像,然后显示大图像。 如果我使用此代码,一切正常:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollViewCalled
{
ImageScrollView *scroll = scrollViewCalled
UIImageView *imageView = (UIImageView *)[scroll viewWithTag:kImageViewTag];
return imageView;
}
ImageView的大小=图像的大小(如果图像很小,那么它就是小图像的大小,如果图像很大 - 大图像的大小) scrollView的ContentSize = imageView的大小。
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollViewCalled withView:(UIView *)view atScale:(float)scale
{
ImageScrollView *scroll = scrollViewCalled
UIImageView *imageView = (UIImageView *)[scroll viewWithTag:kImageViewTag];
if ([self isBigImage:imageView])
{
return;
}
[self loadBigImage];
}
但如果使用此代码(当我尝试缩放时,会显示大图像,但我看到它的最大缩放比例,我无法滚动查看图像的其余部分。但是当我再缩放一个时时间而不是滚动图像,它开始正常工作,我终于可以滚动图像。但我应该缩放2次):
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollViewCalled withView:(UIView *)view
{
ImageScrollView *scroll = scrollViewCalled
UIImageView *imageView = (UIImageView *)[scroll viewWithTag:kImageViewTag];
if ([self isBigImage:imageView])
{
return;
}
[self loadBigImage];
}
为什么它不能正常用于scrollViewWillBeginZooming?我需要在缩放之前设置大图像,但不能在之后设置。