更新Xcode中的帧和约束(Interface Builder)

Mar*_*tin 11 xcode interface-builder ios xcode6

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

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

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

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

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

另外,进行健全性检查:框架是每个控件(视图)的边界框,而不仅仅是视图控件,因此每个视图(控件)都是自己的框架.它是否正确?

小智 13

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

  1. 在应用运行时将元素定位在视图中
  2. 将元素定位在故事板表示本身中

更新帧 - 用于更新故事板显示以使其适合当前应用的约束时使用.当故事板的显示与约束不匹配时,将出现警告.

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