在Xcode 5中为超级视图添加间隔约束
我正在Xcode 5中构build一个iOS应用程序,并且在添加布局约束时遇到了问题。 在Xcode 4.x中,我可以添加前导/尾随/顶部/底部空间到容器(超级视图)到任何UI元素。 现在,我只有这个选项:
我想在我的文本视图中添加一个“底部空间超级查看”约束。 它说“间隔到最近的邻居”,但我不想创build一个“最近邻居”的约束,我有我的文本视图下的其他东西,我不想创build一个约束。 如果在我的文本视图下没有其他对象,它会正确地向容器添加一个约束。 但是,如果我尝试改变任何东西,所有东西都会弄乱:我需要将所有视图移动到其他位置,然后添加约束,然后添加其他视图。 如果我在文本视图和UI元素(在本例中是一个button)之间添加一个约束,它不起作用(一切似乎都是正确的:button对superview的底部有一个约束,而text view有一个垂直间距约束button,并没有冲突的约束)。 UI元素以不同的(3.5英寸)屏幕方向出现在屏幕边界之外。 Interface Builder是否存在错误,或者我错过了什么? 当我可以正确设置所有东西的时候,当我调整界面生成器屏幕的大小时,我的控件仍然显得不合常理,但是在3.5英寸的模拟器/设备上正确显示。 在Xcode 5中使用新的Interface Builder约束来deviseUI的“最佳实践”是什么?
更新:我在另一个项目中遇到了一些麻烦。 我试图通过CTRL-将我的控件拖到它所说的“顶部布局指南”的位置来修正视图的顶部到顶部布局指南,它试图将布局指南的底部控制到约-470点)而不是控制我的顶部,这是没有任何意义的,因为控制应该布置在变高度屏幕(例如普通和4英寸的iPhone,以及未来可能的其他布局)。 以下是正在发生的事情的屏幕截图:
而我正在受到限制:
如何使Interface Builder将视图的顶部alignment到顶部布局指南?
更新2:我find了一个解决方法。 我首先调整视图的大小以降低它的高度(所以它的顶部不会重叠,或者非常接近顶部布局指南),然后按CTRL +将其拖动到顶部布局指南。 它似乎正常工作。 连接后,我再次调整我的视图到所需的大小,并selectUpdate Constraints
。 它的工作,但它仍然不是一个解决scheme,因为它需要调整视图,连接,再次resize,并更新约束。
要在视图和其“超级视图”之间添加一个约束(比如“底层空间到超级视图”),可以使用“文档大纲”(“界面生成器”的左侧部分)。
在文件大纲中:
- 按住Ctrl键并从视图拖到“超级视图”(反之亦然)。
- select要添加的约束(在本例中为“Bottom Space to Container”)。
Jarig的答案很好,但有时会导致意想不到的结果,如评论中所述。
另一种select是select子视图并转到:
编辑> Pin>顶级空间Superview
或者你想要的约束。
似乎现在是一个底部边缘约束。 select您的视图和超级视图,点击“alignment”并检查“底部边缘”
如果要添加Xcode 4中的尾随或前导约束,请从视图的中心向左,向右,向上或向下拖动约束。 随后将显示一个窗口,您可以在其中select要添加的约束(取决于您按CTRL拖动的方向)。