如何使 ScrollView 宽度 = 设备屏幕宽度?

How to make ScrollView width = to device screen width?

我正在制作一个在滚动视图中有一个(子)视图的应用程序。我知道我必须显式设置子视图的宽度,因为滚动视图不会向子视图提供该信息,但是我怎样才能让这个子视图的宽度根据设备的宽度自动调整?

例如,在下面我将宽度设置为 380,使 "Quotes" 在 iPhone 6 中居中,但在 iPhone 5 中使它们稍微偏右。

Select viewController

将您想要的全屏尺寸的视图拉伸到屏幕尺寸

单击 window

底部三个选项中的中央图标

你会弹出一个图标

前 4 个值将用红色虚线连接

全部点击

在弹出窗口的底部,您会看到 'add 4 constraints'

点击这个

完成!

您可以删除宽度限制。由于前导和尾随 space 到超级视图,视图将自行水平放置。不需要特定的宽度。

我认为您的 scrollview 将垂直滚动,因此在这种情况下您可能需要为高度或视图提供约束,并相应地更新 scrollview contentsize。

由于您的子视图位于视图控制器视图的视图层次结构中,您可以在子视图和视图控制器视图之间分配约束。

按住 Ctrl 从您的子视图拖动到您的视图控制器的视图。您将看到将它们设置为具有相等宽度的选项。 Select吧。如果您希望子视图的宽度更小,则调整常量。

然后您可以在子视图和滚动视图之间添加前导和尾随约束。

以这种方式进行还可以确保您动态且正确地设置滚动视图的内容宽度。

让我知道它是否适合你

您可以使用自动布局将子视图的宽度设置为等于主视图的宽度,方法是执行从子视图到主视图的控件拖动,如下所示:

然后 select "Equal Widths" 从弹出