Swift – 为什么ScrollView不是全屏?

我已经插入一个ScrollViewUIViewController并拖动ScrollView来填充下面的导航栏和RAM标签之间的空间:

在这里输入图像说明

但是当我运行应用程序, ScrollView不填充空间:

在这里输入图像说明

请帮帮我! 非常感谢你。

P / S:对不起,我的英文不好。

滚动视图不能覆盖整个事情,因为你正在一个更大的电话上运行应用程序。 最简单的解决scheme是在iPhone 5上运行应用程序。

但是 ,如果您想解决所有iOS设备上的问题,则需要添加约束条件

约束是告诉视图什么时候resize以及resize的位置。

要添加约束,只需select您想要添加约束的视图,然后转到右下angular。 你会看到4个button:

  • 最左边的button用于在堆栈视图中embedded视图。 这是iOS 9的一项function。如果您的部署目标较低,请忽略它。
  • 左边的第二个button用于添加与alignment相关的约束 – 视图的边缘,基线的位置以及X和Y轴的位置:

在这里输入图像说明

  • 左边的第三个button用于添加与边距,宽度,高度有关的约束,以及在要求resize(例如保持宽高比)时,宽度和高度应如何改变:

在这里输入图像说明

  • 最右边的button用来让Xcode决定你应该添加什么限制。 我认为大部分时间它的select都可以。 有时候,在工作之前,你仍然需要做一些调整。

“那么…我应该加什么限制?” 你问。

那么,我想我应该教你如何思考当你想添加一个约束。 这样,你可以在将来自己搞清楚。

你应该先让Xcode猜测你想要的约束。 只需点击最右边的button,然后单击“重置为build议的约束”。 这可以节省大量的工作,如果Xcode可以得到它的权利。 所以记得总是这样做。

然后,在各种设备上运行您的应用程序,并查看视图的位置,大小和alignment是否如您所期望的那样。 如果不是,则可能需要添加和/或删除一些约束条件。

例如,如果您发现您的视图在不同设备上的大小始终相同(可能不好,因为这意味着某些内容可能会在较小的设备上显示),这可能是因为Xcode添加了宽度和/或高度限制到视图。 您应该删除,以便视图的宽度和/或高度不固定。

您可以在视图层次结构中find您的视图的约束:

在这里输入图像说明

只需select约束,然后按删除。

取消选中调整子视图选项并添加

scrollview.view.autoresizingMask = [.FlexibleWidth,.FlexibleHeight]

在这里输入图像说明

您需要为您的scrollView添加约束。 将前导约束和尾随约束设置为0.固定scrollView的高度,并且不要忘记设置顶部布局约束。 您可以固定高度或向页面控件添加底部布局约束。

约束是非常重要的,更重要的是要正确设置它。 检查Apple文档 – 在IB中使用约束

取消选中约束到边界,并将空间的四个极限中的每一个都添加到最近的邻居。

我的猜测(从我们所知道的很less的信息)是,你正在创build一个从你的滚动视图到视图顶部的约束,其值等于导航栏的高度。 将此约束的值设置为0。