【问题标题】:Having trouble with AutoLayout Xcode constraints遇到 AutoLayout Xcode 约束问题
【发布时间】:2016-07-12 19:15:03
【问题描述】:

我有一个有点复杂的布局,我想对其进行约束。

前三个都需要彼此等距且宽度和高度相等。底部三个需要相同的宽度和高度,并且彼此等距。

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

谢谢!

【问题讨论】:

  • 把它们放在UIStackView

标签: ios xcode interface-builder constraints


【解决方案1】:

对于前三个,您需要创建 5 个额外的视图,将它们放在这三个视图之间,并设置它们应该具有相同的宽度。其中一个应该有一些恒定的宽度(比所有其他的也会得到这个宽度)。而不是通过连接它们之间的前导和处理约束来绑定它们。接下来要做的是设置视图的宽度和高度。您需要的边距将是您之前放置在它们之间的五个视图。

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

这是您要搜索的内容吗?如果不是,请描述您的问题,我会尽力解决。

【讨论】:

  • 我很困惑,我该如何处理我的第 5 个附加视图?一个是月的左边,月的右边,天的右边,周的右边。第五个去哪里?
  • 糟糕,需要有 4 个视图。我的错。咬一下你得到的主要逻辑)
【解决方案2】:

正如@Dan 所说,UIStackView 是你的朋友。将前三个放在水平堆栈视图中,将后三个放在垂直堆栈视图中。您的其他选择是在单个约束上摆弄乘数,即 0.0 0.333、0.667。那将需要大量的工作。如果您愿意等待在 Xcode 8 中使用它,另一种选择是 Apple 在 Xcode 8 中恢复了旧的弹簧和支柱样式的 pre-Autolayout,并允许您将其用作替代方案,和/或与 Xcode 8 中的自动布局混合。首先尝试 UIStackview,但它是阻力最小的路径。

【讨论】:

  • 我正在尝试在UIStackView 上关注此tutorial。当我将前三个放入堆栈并将其固定(顶部:12,左侧:12,右侧:12,底部:15)时,顶部出现约束错误。我也有相同的距离,但意见不会距离自己。 Pic.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
相关资源
最近更新 更多