故事板中的UIScrollView不适用于iOS 8 Size Classes和Autolayout

所以我试图创build一个只有在故事板的UIScrollView ,允许我添加滚动标签超过VC的高度。 以下是我所做的:

  1. 创build了UIScrollView ,占用了任何高度VC的任何宽度的大小

  2. 在顶部,底部,左侧和右侧,对最近的邻居进行间隔限制为0

  3. 创build一个UIScrollView的子视图的视图,它的宽度与任何高度为VC但高度为1500(因为我只希望垂直滚动)的宽度相同。

  4. 将最近邻居的约束条件设置为仅用于左侧,顶部和右侧的0,并将高度约束条件设置为1500。

  5. 我在子subView的顶部和底部放置了一个标签

当我在iPhone 6上运行应用程序时,不会像我想要的那样垂直滚动。 任何想法,为什么这是行不通的? 提前致谢。

要获得滚动,您必须将子视图(“内容视图”)固定在滚动视图的顶部,左侧,底部和右侧。 另外,你必须给它(对于“内容视图”)一个明确的(与滚动视图无关的)高度和宽度,因为这些被scrollview用来计算它的内容大小。 在你的情况下,设置宽度等于VC主视图宽度和高度1500.当宽度或高度大于scrollview大小,它将滚动。

滚动视图约束(固定到主视图)

滚动视图约束

内容视图(固定到滚动视图+高度1500,宽度=主视图宽度)+标签约束(例如:20 20从内容视图左上angular)

内容视图+标签约束

为了更容易的可视化,我创build了一个video如何做到这一点。

关于如何在iOS中创build垂直滚动视图的video

你有没有把内容大于屏幕本身? 在你的情况下,身高只有更大。

正如Apple文档所述:“必须将contentSize属性设置为可滚动内容的大小,这指定了可滚动区域的大小。”

唯一的解决方法是在滚动视图的子视图的底部子视图的右侧和底部添加约束。 同时检查从上到下的所有视图是否都有适当的高度限制。 对于滚动视图的包装视图,在其超视图中添加等宽和等高限制。