嗨,我在故事板中设置了一个UIScrollView(与视图大小相同),ctrl在我的代码中拖动了它。
现在我已经用我的一个简单算法以编程方式创建了一个按钮。
然后我试着
println(button.frame.origin.y)
印刷了1700张。
然后我试着
println(button.frame.height)
打印了142.2(也来自算法)所以滚动时我想要达到的高度是1700 + 142.2 = 1842.2
所以我试着用这种方式硬编码内容大小
self.scrollView.contentSize = CGSize(width:self.view.bounds.size.width, height:2000)
但是当我运行这个应用程序时,我只能滚动到按钮的中间,这是数字
1700 + 142.2/2 = 1771.1
为什么会这样?
我这么做是想了解这个UIScrollView是如何工作的,但我想不通。
编辑
添加了一个屏幕截图。
气泡内有button.frame.origin.y值。这是我能滚动到的最大值,让屏幕保持原样。

最佳答案

这可能与滚动视图插入有关-滚动视图插入是一种机制,内容的边缘始终显示在导航和工具栏下。
您需要通过读取滚动视图的contentInset属性或使用interface builder手动解释这一点。
滚动视图参考:
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/UIScrollView_pg/CreatingBasicScrollViews/CreatingBasicScrollViews.html

10-08 11:22