我正在Xcode 5中构建一个iOS应用程序,我在添加布局限制时遇到了麻烦。在Xcode 4.x中,我可以将前导/尾随/顶部/底部空格添加到容器(superview)到任何UI元素。现在,我只有这个选项:
我想在文本视图中添加一个“底层空间到superview”约束。它说“间隔到最近邻居”,但我不想为“最近邻居”创建约束,我在文本视图下面还有其他内容,我不想用它创建约束。如果我的文本视图下没有其他对象,则会正确地向容器添加约束。但是,如果我尝试改变任何东西,一切都会搞砸:我需要将所有视图移动到其他地方,然后添加约束,然后添加移动其他视图。如果我在文本视图和UI元素之间添加一个约束(在这种情况下是一个按钮),它就不起作用(一切看起来都正确:按钮对superview的底部有一个约束,而文本视图有一个垂直间距约束,按钮,并没有冲突的约束)。 UI元素以不同(3.5英寸)屏幕方向显示在屏幕边界之外。 Interface Builder是否有错误,或者我遗漏了什么?当我可以正确设置所有内容时,当我调整界面构建器屏幕的大小时,我的控件似乎仍然不受限制,但在3.5英寸的模拟器/设备上正确显示。在Xcode 5中使用新的Interface Builder约束设计UI的“最佳实践”是什么?
更新:我在同一件事的另一个项目中遇到了更多麻烦。我正在尝试通过CTRL将我的控件拖到顶部布局指南的顶部布局指南顶部的顶部布局指南,并且它正试图将我的控件底部变为布局指南(约-470)这是没有任何意义的,因为控件应该在可变高度的屏幕中布局自己(例如常规和4英寸iPhone,以及未来可能的其他布局......),而不是控制我的控制顶部。以下是正在发生的事情的屏幕截图:
我在约束中得到了这个:
如何让Interface Builder将视图的 top 与顶部布局指南对齐?
更新2:我找到了解决方法。我首先调整视图大小以降低其高度(因此它的顶部不会重叠或非常接近顶部布局指南)然后我按住CTRL并将其拖动到顶部布局指南。它似乎工作正常。连接后,我再次将视图重新调整为所需大小,然后选择Update Constraints
。它可以工作,但它仍然不是一个解决方案,因为它需要调整视图大小,连接,再次调整大小和更新约束。
答案 0 :(得分:94)
要在视图及其“超级视图”之间添加约束(如“超级视图的底部空间”),您可以使用文档大纲(界面构建器的左侧部分)。
在文件大纲中:
答案 1 :(得分:48)
Jarig的答案很好,但有时可能会导致意外结果,如评论中所述。
另一个选择是选择子视图并转到:
编辑器> Pin>超级视图的顶级空间
或您想要的任何约束。
答案 2 :(得分:1)
现在似乎是一个底边约束。 选择您的视图及其超级视图,点击“对齐”并选中“底边”,
答案 3 :(得分:0)
如果要在Xcode 4中添加尾随或前导约束,请从要向左,向右,向上或向下添加约束的视图中心进行CTRL拖动。然后,您将看到一个窗口,您可以在其中选择要添加的约束(取决于您按住CTRL的方向)。