我在ScrollView中插入了UIViewController并拖动ScrollView来填充导航栏和下面的RAM标签之间的空间:

ios - Swift-为什么ScrollView无法全屏显示?-LMLPHP

但是,当我运行该应用程序时,ScrollView不会填充空白:

ios - Swift-为什么ScrollView无法全屏显示?-LMLPHP

请帮我!非常感谢你。

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

最佳答案

滚动视图无法涵盖全部内容,因为您是在更大的手机上运行该应用程序的。最简单的解决方案是在iPhone 5上运行该应用程序。

但是,如果要在所有大小的iOS设备上解决问题,则需要添加约束。

约束是告诉视图何时以及如何调整大小以及放置位置的内容。

要添加约束,只需选择要向其添加约束的视图,然后转到右下角。您将看到4个按钮:


最左边的按钮用于将视图嵌入堆栈视图中。这是iOS 9的功能。如果您的部署目标较低,请忽略它。
左侧的第二个按钮用于添加与对齐有关的约束-视图的边缘在哪里,其基线是什么以及它在X和Y轴上的位置:


ios - Swift-为什么ScrollView无法全屏显示?-LMLPHP


左侧的第三个按钮用于添加与边距,宽度,高度以及在要求调整大小时应改变宽度和高度的方式有关的约束(例如,保持宽高比):


ios - Swift-为什么ScrollView无法全屏显示?-LMLPHP


最右边的按钮用于让Xcode决定应添加哪些约束。而且我认为大多数时候它的选择都是可以的。但是有时,您仍然需要进行一些调整才能起作用。


“那么...我应该添加什么约束?”你问。

好吧,我想我应该教你如何在想添加约束时思考。这样,您就可以在将来自己解决问题。

您首先应该让Xcode猜测您想要什么约束。只需单击最右边的按钮,然后单击“重置为建议的约束”。如果Xcode可以正确处理,则可以节省很多工作。因此,请记住始终先执行此操作。

然后,在各种设备上运行您的应用程序,然后查看视图的位置,大小和对齐方式是否符合您的预期。如果不是,则可能必须添加和/或删除一些约束。

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

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

ios - Swift-为什么ScrollView无法全屏显示?-LMLPHP

只需选择约束,然后按Delete键即可。

10-08 06:25
查看更多