【问题标题】:iOS layout why does center constraint not enough?iOS布局为什么中心约束不够?
【发布时间】:2014-09-19 21:17:07
【问题描述】:

我真的不明白这……嗯……奇怪的iOS布局系统的逻辑。

我放置了一个带有 Align center X to Superview 约束的 UILabel。

为什么抱怨 X 位置需要一个新的约束??

中心是中心号吗?

【问题讨论】:

标签: ios


【解决方案1】:

您需要详细说明视图的水平定位。将视图居中并不能说明它是否具有固定宽度,或者它应该保持视图周围的前导/尾随空间。

这里有两个可能的选项(也有一个固定的高度和一个固定的纵横比,正如@Moshe 在他的回答中所说):

  1. 您的视图的宽度将始终为 61(例如):

  1. 您的视图将在左侧/右侧有一个固定的前导和尾随空格:

【讨论】:

  • 好的,这解决了我的问题,但是根据不同语言的不同句子长度,是否可以告诉标签使用容器中所有可用的水平空间?
  • 您可以使用第二个选项并将前导和尾随空格设置为0
  • 好的,明白了,非常感谢,谢谢大家。
【解决方案2】:

该警告用词不当。这并不意味着没有约束。它应该说“没有足够的约束来计算 X 位置。”

您需要为 X 位置添加约束,但您还需要为自动布局提供足够的约束以计算视图的宽度。

您可以提供前导空格和尾随空格,也可以提供宽度,也可以提供高度和比率。自动布局只需要一些可以使用的东西。

【讨论】:

    【解决方案3】:

    如果您确实添加了中心 x 约束,那么自动布局应该足以计算 x 位置。但是你确定你没有设置中心 y 约束吗?在 Interface Builder 中拖动线条的方向可能会令人困惑,因此当您打算设置 x 约束时,您可能不小心设置了 y 约束。如果您尝试使 x 居中,您仍然需要对 y 位置进行约束,无论是垂直居中还是从顶部或底部到父视图或其他视图的空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多