Autolayout约束不会设置为SuperView的边缘

时间:2014-09-30 17:22:48

标签: ios objective-c autolayout

我正在使用Xcode 6并使用AutoLayout来理解其中的变化。 我想到了将约束设置为超级视图的问题。 在我的viewController中,我添加了一些UI元素,我想设置从我的TextField到超级视图的前导空间约束(如照片所示)。 当我设置它时,约束不会超出superView的每个边缘,并从View的末尾到约束采取16点缓冲区空间。

为什么会这样?

enter image description here

2 个答案:

答案 0 :(得分:2)

你必须添加约束而不勾选'约束到边距'选项。

enter image description here

答案 1 :(得分:0)

如果我正确理解您的问题,您希望TextField能够快速解决问题。到顶部。对?如果是这样,请进入故事板。选择TextField并打开pin菜单(故事板右下角的四个图标中的第二个)。

第一个选项可让您指定元素与超级视图之间的距离。点击上边距的下拉菜单,然后选择View (current distance = 20)(而不是Top Layout Guide)。您现在可以将此距离设置为0(或任何您喜欢的)。 然后,在关闭菜单之前,请检查最后一个菜单Update Frames并选择All frames in Container

通过接受这些更改,您可能会发现自己存在约束错误。您可以像修复任何约束错误一样轻松修复它们。

希望这有帮助。