如何在XCODE中水平分割UIView到三个大小不一的子视图?

我不得不使用Xcode水平地将UIView分成三个大小不一的子视图。 我试图使用约束。 我得到了以下结果。

在这里输入图像说明

在一些屏幕尺寸。 在小屏幕手机中,最左侧和最右侧的子视图大小相同。 但是,中心子视图在小屏幕上非常小,在大屏幕上非常大。 所以,请让我知道正确的方式将UIView分成三个大小UIView子视图。 提前致谢。

注意:我正在使用Xcode 8.1

设置约束是根据开发人员的技能和可用性使用的技术。 你会有一天自己来。 这是我用来处理像你这样的情况的方式。

1)在故事板上创build3个等宽的视图(已经完成了)2)一起select全部3个视图。

  • 添加领导约束(左)
  • 添加顶级约束。
  • 添加高度/底部约束(根据您的需要/要求)
  • 添加等宽约束。 (必须)

这是一个图像显示上面的步骤一次。

在这里输入图像说明

现在select最后一个视图即。 第三视图(您只能select上次视图)

  • 添加尾随余量约束。 (对)

在这里输入图像说明

你现在很好走。

  • 高度/底部和顶部约束,您必须根据您的要求添加。

就像我之前说的,随你便利吧。

采取相同的宽度和相同的高度的所有意见,并给予像在形象约束

在这里输入图像说明

首先 ,按住“控制”键,将视图拖到其容器视图中, 在这里输入图像说明

设置视图的宽度等于容器视图的宽度: 在这里输入图像说明

其次 ,将乘数值改为0.3333(意思是容器的1/3宽度): 在这里输入图像说明

接下来 ,设置第二个视图的宽度等于第一个: 在这里输入图像说明

最后 ,添加第三个视图并将其应用于第二个视图。 并且记住为第二和第三视图添加“同一垂直中心到第一视图”约束和“xx领先空间”约束。 您将得到三个相同宽度的视图填充容器。

通过select所有三个视图来设置等宽的约束,并提供1点的水平间距约束。 它将视图分成3个相等宽度的视图。

我会build议使用UIStackView。 如果你从来没有使用它,它就像一个容器(UIViews在你的情况),你可以设置它使用相同的比例。 这意味着对于拖入堆栈视图的每个元素,它将按比例设置它的宽度。

如果您拖动1个项目,它将具有100%的UIStackView宽度。

如果你拖动2个项目,每个项目将有50%的宽度。

如果你拖动3,每个人将有33%。 等等。

你甚至可以使用垂直或水平的堆栈视图。 我觉得它非常有用。 在这里你有官方文档: https : //developer.apple.com/reference/uikit/uistackview