【发布时间】:2013-09-28 08:11:50
【问题描述】:
我正在 Xcode 5 中构建一个 iOS 应用程序,但在添加布局约束时遇到了问题。在 Xcode 4.x 中,我可以将前导/尾随/顶部/底部空格添加到容器(超级视图)到任何 UI 元素。现在,我只有这个选项:
我想在我的文本视图中添加一个“超级视图的底部空间”约束。它说“与最近邻居的间距”,但我不想创建对“最近邻居”的约束,我的文本视图下还有其他东西,我不想用它来创建约束。如果我的文本视图下没有其他对象,它会正确地向容器添加一个约束。但是,如果我尝试更改任何内容,一切都会搞砸:我需要将所有视图移动到其他位置,然后添加约束,然后添加将其他视图移回。如果我在文本视图和 UI 元素(在这种情况下是一个按钮)之间添加一个约束,它就不起作用(一切似乎都正确:按钮对超级视图的底部有一个约束,而文本视图有一个垂直间距约束)按钮,并且没有冲突的约束)。 UI 元素以不同的(3.5 英寸)屏幕方向显示在屏幕边界之外。 Interface Builder 是否存在错误,或者我遗漏了什么?当我可以正确设置所有内容时,当我调整界面构建器屏幕的大小时,我的控件似乎仍然超出范围,但在 3.5 英寸的模拟器/设备上正确显示。在 Xcode 5 中使用新的 Interface Builder 约束来设计 UI 的“最佳实践”是什么?
更新:我在另一个项目中遇到了更多的问题。我试图通过 CTRL 将我的控件拖动到它说“顶部布局指南”的位置来精确地修复视图的顶部到顶部布局指南,并且它试图将我的控件底部与布局指南相匹配(大约 -470点)而不是调整我的控件的顶部,这没有任何意义,因为控件应该在可变高度的屏幕中进行布局(例如常规和 4 英寸 iPhone,以及将来可能的其他布局..)。这是正在发生的事情的屏幕截图:
我在约束中得到了这个:
如何让 Interface Builder 将视图的 top 与顶部布局指南对齐?
更新 2:我找到了解决方法。我首先调整视图的大小以减小它的高度(因此它的顶部不会重叠或非常靠近顶部布局指南),然后我 CTRL+将其拖动到顶部布局指南。它似乎工作正常。连接后,我再次将视图调整为所需大小并选择Update Constraints。它可以工作,但仍然不是解决方案,因为它需要调整视图大小、连接、再次调整大小和更新约束。
【问题讨论】:
-
您好,在将视图连接到顶部布局指南时遇到与您相同的错误。一开始我很困惑,但找到了和你一样的解决方法。希望这将在未来的更新中得到修复……
-
我希望如此.. 看到一家真正关心设计的公司在自己用于设计核心界面的产品中出现设计错误,我感到很遗憾。
-
此解决方法有效!
标签: ios xcode interface-builder autolayout xcode5