我有 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 不能正常工作?我需要在缩放之前设置大图像,但不是在缩放之后。