【发布时间】:2016-07-12 19:15:03
【问题描述】:
前三个都需要彼此等距且宽度和高度相等。底部三个需要相同的宽度和高度,并且彼此等距。
为什么 Xcode 没有等距边距选项?我无法创建特定的边距约束,因为它在较小的设备上看起来不正确。我所做的一切似乎都不会产生可接受的约束。
谢谢!
【问题讨论】:
-
把它们放在
UIStackView
标签: ios xcode interface-builder constraints
前三个都需要彼此等距且宽度和高度相等。底部三个需要相同的宽度和高度,并且彼此等距。
为什么 Xcode 没有等距边距选项?我无法创建特定的边距约束,因为它在较小的设备上看起来不正确。我所做的一切似乎都不会产生可接受的约束。
谢谢!
【问题讨论】:
UIStackView
标签: ios xcode interface-builder constraints
对于前三个,您需要创建 5 个额外的视图,将它们放在这三个视图之间,并设置它们应该具有相同的宽度。其中一个应该有一些恒定的宽度(比所有其他的也会得到这个宽度)。而不是通过连接它们之间的前导和处理约束来绑定它们。接下来要做的是设置视图的宽度和高度。您需要的边距将是您之前放置在它们之间的五个视图。
您可以对其他视图执行相同的操作,只需添加一些视图以使其作为边距。
这是您要搜索的内容吗?如果不是,请描述您的问题,我会尽力解决。
【讨论】:
正如@Dan 所说,UIStackView 是你的朋友。将前三个放在水平堆栈视图中,将后三个放在垂直堆栈视图中。您的其他选择是在单个约束上摆弄乘数,即 0.0 0.333、0.667。那将需要大量的工作。如果您愿意等待在 Xcode 8 中使用它,另一种选择是 Apple 在 Xcode 8 中恢复了旧的弹簧和支柱样式的 pre-Autolayout,并允许您将其用作替代方案,和/或与 Xcode 8 中的自动布局混合。首先尝试 UIStackview,但它是阻力最小的路径。