如何在XCODE中将UIView水平划分为三个均匀大小的子视图?

时间:2016-12-24 04:58:51

标签: ios xcode uiview

我必须使用UIViewXcode水平划分为三个大小合适的子视图。我试图使用约束。 我得到了以下结果。

enter image description here

在某些屏幕尺寸中。在小屏幕电话中,最左侧和最右侧的子视图大小相同。但是,中央子视图在小屏幕中非常小,在大屏幕中非常大。所以请让我知道将UIView水平分割成三个偶数大小的子视图的正确方法。提前谢谢。

注意:我使用Xcode 8.1

5 个答案:

答案 0 :(得分:6)

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

1)在故事板上创建3个宽度相等的视图。(你已经完成了) 2)一起选择所有3个视图。

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

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

enter image description here

现在选择最后一个视图即。第3个视图(您必须只选择最后一个视图)

  • 添加尾随边距约束。 (右)

enter image description here

你现在好了。

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

就像我之前说过的那样,请你方便。

答案 1 :(得分:4)

首先,按住“control”键并将视图拖到其容器视图中, enter image description here

将视图的宽度设置为等于容器视图的宽度: enter image description here

第二,将乘数值更改为0.3333(表示容器的1/3宽度): enter image description here

下一步,将第二个视图的宽度设置为等于第一个: enter image description here

最后,添加第3个视图并将相同的设置应用为第2个视图。并记住为第2和第3视图添加“相同垂直中心到第一视图”约束和“xx前导空间”约束。您将获得三个相同宽度的视图填充容器。

答案 2 :(得分:3)

获取具有相同宽度和相同高度的所有视图,并给出像图像

中的约束

enter image description here

答案 3 :(得分:1)

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

答案 4 :(得分:1)

我建议使用UIStackView。如果你从不使用它,它就像一个容器(在你的情况下是UIViews),你可以设置它使用相同的比例(分布:同等填充)。这意味着对于拖动到stackview中的每个元素,它会将其设置为proporcionally。

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

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

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

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