Swift 使用故事板自动布局

Swift auto layout with storyboard

我有一个视图分为 5 块,有 4 条线(它们也是高度为 1 的视图)。 我正在使我的 swift 应用程序响应不同的苹果设备尺寸,但问题是小视图的 y 位置不随设备尺寸而改变,这使得界面变得丑陋。 问题是如何让每个小view的y位置取大view的1/5的值。 请注意,我是乘数和高级约束的新手。 我希望我已经把我的问题说清楚了,并提前致谢。 编辑: picture 1 picture2 抱歉,由于声誉原因我无法上传图片,但这里有两个图片链接

听起来您是在描述堆栈视图 (UIStackView),其中包含五个以“均等填充”模式排列的视图。它会导致五个子视图中的每一个占据其自身高度的1/5。

我不确定您是如何设置 "small" 视图的,但我建议您使用 UIStackView 来达到预期的效果。 Here you can read more about it.

  1. 使用 Interface Builder 添加 Vertical Stack View 到您的视图控制器。
  2. 将您的 "small" 视图放入其中。
  3. 使用 Interface Builder,将 Distribution 参数设置为 Fill Equally

在此之后,UIStackView 将使您的小视图高度相等,并填充其高度。

我使用包含 5 个视图和 4 个视图作为线条的 UIStackView 进行设置。

堆栈视图的设置如下:

下面是视图层次结构和约束的设置:


备注:

  1. 线条的高度设置为 1 磅。
  2. 视图 2 到 5 的高度设置为等于视图 1 的高度。
  3. 堆栈视图的大小被限制在安全区域。