【问题标题】:Autolayout constraint wont set to edge of SuperView [duplicate]自动布局约束不会设置为 SuperView 的边缘 [重复]
【发布时间】:2014-09-30 17:22:48
【问题描述】:
我正在使用 Xcode 6 并使用 AutoLayout 来了解其中的变化。
我在将约束设置为超级视图时遇到了问题。
在我的 viewController 中,我添加了一些 UI 元素,并且我想将我的 TextField 的前导空间约束设置为超级视图(如照片所示)。
当我设置它时,约束不会每个超级视图的边缘,并从视图末端到约束占用 16 点缓冲区空间。
为什么会这样?
【问题讨论】:
标签:
ios
objective-c
autolayout
【解决方案1】:
您必须在不勾选“限制到边距”选项的情况下添加约束。
【解决方案2】:
如果我正确理解您的问题,您希望 TextField 能够“捕捉”到顶部。对?如果是这样,请进入您的故事板。选择您的 TextField 并打开 pin 菜单(故事板右下角的四个图标中的第二个)。
第一个选项让您指定元素和父视图之间的距离。单击上边距的下拉菜单并选择View (current distance = 20)(而不是Top Layout Guide)。您现在可以将此距离设置为 0(或您喜欢的任何值)。
然后,在关闭菜单之前,检查最后一个菜单Update Frames并选择All frames in Container。
接受这些更改后,您可能会发现自己遇到约束错误。您可以像修复任何约束错误一样轻松地修复这些问题。
希望这会有所帮助。