1

我正在尝试UIImageView使用捏合手势来缩放 a,如下面的代码所示:

- (void)scaleImage:(UIPinchGestureRecognizer *)recognizer
{
    if([recognizer state] == UIGestureRecognizerStateEnded)
    {
        previousScale = 1.0;
        scrollView.contentSize = CGSizeMake(imageViewPic.frame.size.width, imageViewPic.frame.size.height);
        return;
    }
    CGFloat newScale = 1.0 - (previousScale - [recognizer scale]);
    CGAffineTransform currentTransformation = imageViewPic.transform;
    CGAffineTransform newTransform = CGAffineTransformScale(currentTransformation, newScale, newScale);
    imageViewPic.transform = newTransform;
    previousScale = [recognizer scale];
}

我的问题是,如果我尝试移动新缩放的图像,它会从底部和右侧偏移(如下图所示),并且我无法从顶部和左侧完全向下移动(有区域我没有看到)。我究竟做错了什么?我得到了图像视图从转换中获得的新宽度和高度,这些值不是我应该在滚动视图内容中使用的新值吗?

在此处输入图像描述

4

0 回答 0