Xcode 4和Interface Builder:编辑垂直间距约束(Anchor Top,而不是Bottom)

我有一个不能在设备上正确布局的小部件(它在IB中看起来不错),但是它不太正确。 该小部件是一个标签,它位于中间屏幕左右。 界面生成器给它一个“底部锚点”的垂直空间约束。 在这里,底部意味着屏幕的底部(而不是下面的小部件,或锚到顶部屏幕)。

我在检查员,但我不知道如何更改为顶部锚点(最好,上面的小部件)。 我尝试阅读苹果的文档和编辑约束 ,但这是一个混乱,并没有解释如何做出改变(或者我错过了这个讨论 – 这是7句话)。

以下是界面生成器下的屏幕截图,其中显示垂直空间约束锚定在屏幕底部。 而且它的属性还有很多值得期待的地方 – “平等”,“恒定”和“优先”并没有真正的帮助。

在这里输入图像说明

有谁知道如何编辑约束? 具体来说,我想(1)从下上改变一个垂直间隔的锚; 和(2)锚定在上面的小部件,而不是屏幕的顶部。

通过移位点击一起select“embedded”和“计算”元素。

select这两个元素,使用约束菜单:

在这里输入图像说明

这个菜单以及精心select的元素,是IB快速编辑约束的核心。 在你的情况下,select中央项目,Pin菜单。 select垂直间距 – 这将在两个元素之间的垂直间距上创build一个新的约束。 另外,select一个单一的元素,并将“Top space to superview”钉在顶部而不是底部。

您现在可以select并删除视图底部的垂直间距。 IB不会让你之前删除这个,因为你必须有一个完整的,不含糊的约束。 添加新的垂直间距约束之后,现在就有了这个。

为了进一步说明,下面是一个空视图控制器,带有一个我已经拖曳的单个文本字段:

在这里输入图像说明

所有约束都是紫色的,这意味着IB为我添加了它们(它们是系统约束),它们不能被删除 – 它们是定位和调整文本字段所需的最小限制。

现在,我将select文本字段,并将顶部空间固定到超级视图:

在这里输入图像说明

现在您可以看到两个垂直空间约束已经变成了蓝色(它们现在是用户约束),并且在编辑器中外观更加粗糙。 这意味着其中一个可以被删除。 我select底部空间的约束,并点击删除:

在这里输入图像说明

请注意,这仍然具有用户约束的外观 – 但是如果我尝试删除它,IB会自动重新创build系统约束到pinview的底部,让我们回到原点。

我已经写了关于这个和类似的自动布局主题, 在这里 。

我有一个词Autolayouts。 如果它有效,但是如果没有,那就用旧的方式(使用代码)