Swift – 为什么ScrollView不是全屏?
我已经插入一个ScrollView
到UIViewController
并拖动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。