更新框架& Xcode中的约束(Interface Builder)

时间:2015-05-19 23:52:07

标签: ios xcode xcode6 interface-builder

我一直在学习Xcode和iOS,编码方面也很顺利,但我对界面构建器中的一些选项感到困惑。

似乎当我添加一个约束时,我可以选择“更新帧”,然后选择“新约束项”或“所有帧”,但似乎我并不总是需要这样做...有时候我这样做,有时我不这样做 - 我认为我并不真正理解这个概念。它似乎是可选的。是什么时候选择它?

一旦添加了约束,那么它应该是吗?

还有一个上下文菜单(解决自动布局问题)(界面构建器底部的第3项,由2条垂直线之间的三角形表示),这也允许我强制更新约束或更新帧。为什么需要这个?我注意到里面的选项通常是禁用的,所以我认为当出现问题时它会变为活动状态?

我试过在互联网上搜索,但找不到具体的内容;我读的越多,我似乎就越困惑。

另外,进行健全性检查:框架是每个控件(视图)的边界框,而不仅仅是视图控件,因此每个视图(控件)都是自己的框架。这是对的吗?

2 个答案:

答案 0 :(得分:13)

我将尝试解释约束和故事板表示的概念 约束 - 用于确定视图中UIView元素的位置。例如,从视图顶部到UIView元素顶部的垂直距离。使用故事板添加约束时,它将扮演两个角色:

  1. 在应用运行
  2. 时将元素放置在视图中
  3. 将元素定位在情节提要表示本身
  4. 更新框架 - 用于更新 storyboard 显示,以使其适合当前应用的约束。当故事板的显示与约束不匹配时,将出现警告。

    添加缺失的约束/更新约束 - 将创建/更改应用于UIView元素的约束,以匹配故事板中当前显示的内容。从更新框架的另一种方式。

答案 1 :(得分:3)

每次添加约束时都不必单击“更新帧”,如果这样做,它将根据约束将视图的帧更新为应该是什么。是的,每个视图都有一个框架,它是相对于视图superview的矩形。

通常,您可能会点击更新约束(Shift + Command + =),这将允许您调整已经受约束的视图,并更新约束以匹配。