Swift UIScrollView setZoomScale缩放到错误的点

时间:2015-07-08 21:03:39

标签: ios swift uiscrollview image-zoom

我在UIImageView内有一个可缩放的UIScrollView。如果用户双击图像,UIScrollView将放大,直到图像填满屏幕。我在代码中设置了缩放比例。这部分代码效果很好。这是代码:

func scrollViewDoubleTapped(tapGesture: UITapGestureRecognizer) {

    // Zoom into the zoom scale if currently at min zoom, else zoom to min zoom
    if (scrollView.zoomScale == scrollView.minimumZoomScale) {
        scrollView.setZoomScale(zoomScale, animated: true)
    } else {
        scrollView.setZoomScale(scrollView.minimumZoomScale, animated: true)
    }
}

如果我想在加载视图时缩放到指定的缩放比例,则会出现问题。当我尝试这种缩放时,偏移是不正确的。我在函数println中有scrollViewDidEndZooming来帮助显示偏移量,比例和锚点。

func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView!, atScale scale: CGFloat) {
    println("did end zooming with scale: \(scale)")
    println("offset: \(scrollView.contentOffset)")
    println("anchor point: \(scrollView.layer.anchorPoint)")
}

当我在加载视图后尝试缩放时,我得到值:

did end zooming with scale: 2.27556
offset: (490.0, -0.0)
anchor point: (0.5, 0.5)

哪个y偏移不正确。当我双击图像放大时,我得到:

did end zooming with scale: 2.27556
offset: (490.0, 653.0)
anchor point: (0.5, 0.5)

是否有人能够帮助我弄清楚为什么我在加载视图时会出现问题缩放。我通过viewDidAppear函数进行调用。

0 个答案:

没有答案
相关问题