UIScrollView 将内容推离页面

UIScrollView pushes content off the page

我正在使用 Xcode 7 和 Swift 2。

我目前的应用场景结构如下:
场景 -> 视图 -> 堆栈视图

问题是我在 space 个垂直方向上有 运行 个,所以我想将 Stack View 放入 Scroll View 中。然而,当我这样做时,内容被水平地推出页面。我不知道为什么没有滚动视图,所有内容都在屏幕内对齐。我没有添加任何额外的约束。

有什么想法吗?

滚动视图的全部意义在于它适合其内容并允许您滚动到它。因此,如果您不限制内容,它会采用自然需要的任何大小。

所以,基本上,您需要将内容的宽度限制为与滚动视图的宽度相同,以便它根据其内在要求垂直增长。即设置滚动视图和堆栈视图的宽度相等。

原来首先需要一个content view(就是一个普通的uiview),所以最终的结构是

视图 -> 滚动视图 -> 内容视图 -> 堆栈视图

现在是关键部分:您需要将 Content View 设置为 View 的等宽约束, 而不是 Scroll看法。滚动视图并不关心您在 Xcode 中看到的布局大小,因此您需要将滚动视图内的所有内容限制为滚动视图外的内容。堆栈视图的约束是内容视图的四个 0(我可能只让堆栈视图完成内容视图的工作,但它有效,所以我暂时不会弄乱它)

上面 Nick 提供的 this link 的第 5 步给了我想法