我正在使用Xcode 7和Swift 2.
我的app场景目前有以下结构:
场景 - >查看 - >堆栈视图
问题是我的空间已经用完了,所以我想把Stack View扔进Scroll View。但是,当我这样做时,内容会被水平推离页面。我不知道为什么没有滚动视图,一切都适合在屏幕内齐平。我没有添加任何额外的约束。
有什么想法吗?
答案 0 :(得分:0)
滚动视图的重点是它适合其内容并允许您滚动到它。所以,如果你不限制内容,它将采取它自然想要的任何大小。
因此,基本上,您需要将内容的宽度限制为与滚动视图的宽度相同,以便它将根据其内在要求垂直增长。即设置滚动视图的宽度和堆栈视图相等。
答案 1 :(得分:0)
所以事实证明你首先需要一个内容视图(这是一个常规的uiview),所以最终的结构是
查看 - >滚动视图 - >内容视图 - >堆栈视图
现在,这是关键部分:您需要使用内容视图将相等宽度约束设置为视图,不滚动视图。滚动视图不关心您在Xcode中看到的布局大小,因此您需要将滚动视图内的所有内容约束到滚动视图之外的内容。堆栈视图的约束是内容视图的四个0(我可能只是让堆栈视图执行内容视图的工作,但它可以工作,所以我现在不会搞乱它)
上面提到的this link的第5步给了我这个想法