遇到AutoLayout Xcode限制问题

时间:2016-07-12 19:15:03

标签: ios xcode interface-builder constraints

我有一个复杂的布局,我想制作约束。 This is it.

前三者都需要彼此等距,宽度和高度相等。底部三个需要具有相等的宽度和高度,并且彼此也是等距的。

为什么Xcode没有等距边距选项?我无法创建特定的边距约束,因为它在较小的设备上看起来不正确。我所做的一切似乎都没有产生可接受的约束。

谢谢!

2 个答案:

答案 0 :(得分:1)

对于前三个,你需要创建5个额外的视图,将它们放在这三个视图之间并设置它们应该具有相同的宽度。其中一个应该有一些恒定的宽度(比其他所有宽度都要宽)。然后通过连接它们之间的前导和trealing约束来绑定它们。接下来要做的是设置视图的宽度和高度。您需要的保证金将是您之前放置的五个视图。

您可以使用其他视图执行相同的操作,只需添加一些视图即可将其作为边距。

这是你在寻找什么?如果没有Pls描述你的问题,我会尝试解决它。​​

答案 1 :(得分:1)

正如@Dan所说,UIStackView是你的朋友。将前三个放在水平堆栈视图中,将后三个放在垂直堆栈视图中。您的其他选择是在个别约束条件下使用乘数,即0.0 0.333,0.667。这需要大量的工作。另一个选择,如果你愿意等待在Xcode 8中使用它,那就是Apple已经恢复了Xcode 8中预先Autolayout的旧弹簧和struts风格,并允许你使用它作为替代品,并且/或在Xcode中混合使用自动布局8.首先尝试使用UIStackview,它是阻力最小的路径。