0

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

4

0 回答 0