在UIScrollView中设置视图的内容大小

时间:2017-11-25 17:52:47

标签: ios uiview uiscrollview autolayout

我必须在View Controller中布局一些视图,这些视图在运行时应该是这样的。

enter image description here

最初,白色视图应部分覆盖底部的蓝色视图,如图所示。蓝色视图应该保持放置,而底部的白色视图可以在蓝色视图上滚动。

我将蓝色视图添加到视图控制器的主UIView中。然后在蓝色视图的顶部添加了一个UIScrollView,并将白色视图添加到滚动视图中。

现在我遇到了可怕的内容大小错误。我已经在所有四个方面固定了滚动视图。然后将前导,底部和尾随约束添加到白色视图。然后我尝试在白色视图中添加一个顶部约束,但错误仍然存​​在。我还在白色视图中添加了一个高度约束,但没有用。

可能很难想象我的设置,所以我也添加了一个演示项目here

2 个答案:

答案 0 :(得分:0)

我为你here设置了约束。

说明: 您的内容大小很大,因为您的scrollView不知道其内容(白色视图)的宽度和高度。

我在白色视图中添加了顶部,宽度和高度约束。这样您的scrollView就知道它的内容宽度,并且只能垂直滚动。至于内容高度 - 你可以在代码中改变heightContstrait的常量,或者如果你正确地使用自动布局用于白色视图的子视图,则完全删除高度约束。

答案 1 :(得分:0)

确保您已阅读(并理解)Apple TN2154:“ UIScrollView和自动布局”,其中说明了所需的步骤。

您似乎未正确指定内容大小。