我没有足够的信息来知道为什么你得到 0,这似乎没有发生在我目前正在处理的应用程序中的任何一个滚动视图上。也许您的自动布局约束不太正确?Autolayout + UIScrollView
s 不是一个非常简单的组合。我发现将所有视图放置在一个普通的UIView
“容器”中并将其放置在滚动视图中是最简单的。
但是你真的需要 contentSize.height 吗?对我来说,在缩小的双击时将比例加倍并在放大的双击时缩小到 100% 是有意义的:
func doubleTapReceived(recognizer: UITapGestureRecognizer) {
if recognizer.state == .Ended {
if photo.scrollView.zoomScale == 1.0 {
let point = recognizer.locationOfTouch(0, inView: <one of your views>)
<your scroll view>.zoomToPoint(point, withScale: 2.0, animated: true)
} else {
<your scroll view>.zoomToRect(photo.frame, animated: true)
}
}
}
不需要子类化。
这是我的代码的类似部分。也许尝试克隆我的项目并构建它,看看它与你所拥有的有什么不同?您可以通过转到“照片”选项卡并点击收藏视图中的缩略图之一来访问该特定滚动视图。