iOS布局为什么中心约束不够?

时间:2014-09-19 12:55:13

标签: ios

我真的不明白这个的逻辑......好吧......奇怪的iOS布局系统。

我放置一个UILabel,约束中心X与Superview。

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

中心是中心没有?

3 个答案:

答案 0 :(得分:4)

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

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

您可以提供前导空格和尾随空格,也可以提供宽度,或者您可以提供高度和比率。 Autolayout只需要一些东西可以使用。

答案 1 :(得分:3)

您需要详细了解视图的水平位置。将视图居中并不是说它具有固定的宽度,或者它应该保持视图周围的前/后空间。

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

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

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

答案 2 :(得分:0)

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

相关问题