UIScrollView缩放移动UIImageView将图像移动到左上角

时间:2017-03-23 21:34:18

标签: ios objective-c uiscrollview uiimageview zoom

我有一个大图像,我将允许缩放= 10.当第一次这样做时,图像变焦完美,用一根手指移动也是完美的。但是,当尝试对图像进行下一次缩放时,它会跳转到x = 0 y = 0,然后进行缩放。

我想将图像保留在x和y位置,以便用户可以继续进行缩放,就像在地图应用中一样。

我有

的故事板

查看 - UIScrollView - UIImageView

添加了UIScrollViewDelegate和以下代码:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return _ivMapa;
}

1 个答案:

答案 0 :(得分:2)

如果可以帮到你,请看这个.... 其中drawingview是scrollview的子视图。可以有多个子视图

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    CGFloat offsetX = MAX((scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5, 0.0);
    CGFloat offsetY = MAX((scrollView.bounds.size.height - scrollView.contentSize.height) * 0.5, 0.0);

    _drawingView.center = CGPointMake(scrollView.contentSize.width * 0.5 + offsetX,
                                 scrollView.contentSize.height * 0.5 + offsetY);


    return _drawingView;
}