【发布时间】:2014-09-19 21:17:07
【问题描述】:
我真的不明白这……嗯……奇怪的iOS布局系统的逻辑。
我放置了一个带有 Align center X to Superview 约束的 UILabel。
为什么抱怨 X 位置需要一个新的约束??
中心是中心号吗?
【问题讨论】:
-
它还需要知道宽度是固定的,还是应该随屏幕扩展。
标签: ios
我真的不明白这……嗯……奇怪的iOS布局系统的逻辑。
我放置了一个带有 Align center X to Superview 约束的 UILabel。
为什么抱怨 X 位置需要一个新的约束??
中心是中心号吗?
【问题讨论】:
标签: ios
您需要详细说明视图的水平定位。将视图居中并不能说明它是否具有固定宽度,或者它应该保持视图周围的前导/尾随空间。
这里有两个可能的选项(也有一个固定的高度和一个固定的纵横比,正如@Moshe 在他的回答中所说):
【讨论】:
该警告用词不当。这并不意味着没有约束。它应该说“没有足够的约束来计算 X 位置。”
您需要为 X 位置添加约束,但您还需要为自动布局提供足够的约束以计算视图的宽度。
您可以提供前导空格和尾随空格,也可以提供宽度,也可以提供高度和比率。自动布局只需要一些可以使用的东西。
【讨论】:
如果您确实添加了中心 x 约束,那么自动布局应该足以计算 x 位置。但是你确定你没有设置中心 y 约束吗?在 Interface Builder 中拖动线条的方向可能会令人困惑,因此当您打算设置 x 约束时,您可能不小心设置了 y 约束。如果您尝试使 x 居中,您仍然需要对 y 位置进行约束,无论是垂直居中还是从顶部或底部到父视图或其他视图的空间。
【讨论】: