我真的不明白这个的逻辑......好吧......奇怪的iOS布局系统。
我放置一个UILabel,约束中心X与Superview。
为什么它抱怨需要X位置的新约束?
中心是中心没有?
答案 0 :(得分:4)
该警告用词不当。这并不意味着没有约束。它应该说“没有足够的约束来计算X位置。”
您需要为X添加约束位置,但您还需要为自动布局提供足够的约束以确定视图的宽度。
您可以提供前导空格和尾随空格,也可以提供宽度,或者您可以提供高度和比率。 Autolayout只需要一些东西可以使用。
答案 1 :(得分:3)
您需要详细了解视图的水平位置。将视图居中并不是说它具有固定的宽度,或者它应该保持视图周围的前/后空间。
这里有两个可能的选项(还有一个固定的高度和固定的宽高比,正如@Moshe在他的回答中所说的那样):
答案 2 :(得分:0)
如果您实际添加了中心x约束,那么自动布局应足以计算x位置。但您确定没有设置中心 y 约束吗?在Interface Builder中拖动线条的方向可能会令人困惑,因此当您打算设置 x 约束时,可能会意外设置 y 约束。如果你试图将x居中,你仍然需要y位置的约束,无论是垂直居中还是从顶部或底部到超视图或其他视图的空间。