我正在使用Xcode 5构建一个iOS应用程序,但是在添加布局约束时遇到了问题。在Xcode 4.x中,我可以将容器(父视图)的leading/trailing/top/bottom空间添加到任何UI元素中。现在,我只有这个选项:
我想要在我的文本视图中添加“底部到父视图”的约束。它说“与最近邻居的间距”,但我不想创建与“最近邻居”的约束,因为我的文本视图下面还有其他东西,我不想与那些东西创建约束。如果我的文本视图下面没有其他对象,它会正确地将约束添加到容器中。但是,如果我尝试更改任何内容,一切都会混乱:我需要将所有视图移动到另一个位置,然后添加约束,然后将其他视图移回来。如果我在文本视图和UI元素之间添加约束(在这种情况下是一个按钮),它不起作用(一切似乎都正确:按钮与superview的底部有一个约束,文本视图与按钮有一个垂直间距约束,没有冲突的约束)。这些UI元素在不同的(3.5英寸)屏幕方向中出现在屏幕范围外。接口构建器中有错误,还是我漏掉了什么?当我正确设置一切后,当我调整接口构建器屏幕大小时,我的控件仍然似乎超出了边界,但是在模拟器/设备上的3.5英寸大小的屏幕上显示正常。使用Xcode 5中的新接口生成器约束设计UI的“最佳实践”是什么?
更新:我在另一个项目中遇到了同样的问题。我试图通过CTRL拖动我的控件到“顶部布局指南”处来确切地修复视图的顶部,但它试图将我的控件底部与布局指南对齐(大约-470个点),而不是将控件顶部对齐,这毫无意义,因为该控件应该在可变高度的屏幕上布置自己(例如常规和4英寸的iPhone以及未来可能的其他布局)。以下是发生的情况的屏幕截图:
我在约束中得到了这个:
如何使界面构建器将视图的顶部与顶部布局指南对齐?
更新2: 我找到了一个解决方法。我首先调整视图大小以减小其高度(使其顶部不会重叠或非常接近顶部布局指南),然后再将其CTRL+拖动到顶部布局指南。它似乎可以正确地工作。连接后,我再次将视图调整为所需大小并选择 更新约束
。 它可以工作,但仍然不是一种解决方案,因为它需要调整视图大小、连接、再次调整视图大小并更新约束。