为什么有些约束嵌套而其他约束不在XCode 6中?

时间:2014-08-04 23:10:03

标签: ios swift xcode6

如果我点击标签并添加约束,它们将显示为嵌套在左侧菜单中。但是当我对按钮做同样的事情时,约束不会嵌套在按钮的视图树中。我做错了吗?enter image description here

1 个答案:

答案 0 :(得分:2)

  

The view that holds the constraint must be an ancestor of the views the constraint involves, and should usually be the closest common ancestor. (This is in the existing NSView API sense of the word ancestor, where a view is an ancestor of itself.)

所以,举一些你的例子:

  1. Hello标签上的约束是高度和宽度约束,仅涉及标签本身。因此,最接近的祖先是标签本身,因此这就是约束的位置。

  2. 第一个“垂直空间”约束位于Button及其包含的View之间,因此它们最接近的祖先都是包含View。

  3. 最后一个垂直空间约束位于底部布局指南和按钮之间。它们最接近的共同祖先是包含视图,因此这就是约束所在的位置。