UIScrollView缩放和平移

时间:2015-04-08 18:43:50

标签: ios objective-c iphone swift uiscrollview

我有UIViewController UIView

我在UIScrollView内置了另一个UIView,全部放在我的故事板中,AutoLayout

ViewDidLoad方法之后,我创建了一个UIButton数组,将它们表示为矩阵N x M

矩阵可以越界,但滚动视图出于某种原因。

当我平移某些UIButton不捕获任何触摸事件时,如果我缩放UIScrollView不能很好地缩放,则不会居中并且它会破坏平移。

有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

我解决了这个实现UIScrollViewDelegate的问题:

func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView!, atScale scale: CGFloat) {
    let w = max(scrollView.frame.size.width, totalWidth)
    let h = max(scrollView.frame.size.height, totalHeight)
    view.frame.size = CGSize(width: w * scale, height: h * scale)
    scrollView.contentSize = CGSize(width: w * scale, height: h * scale)
}

因此,它正确地重新计算大小,缩放和平移效果很好