自动布局约束不会设置为 SuperView 的边缘 [重复]

Posted

技术标签:

【中文标题】自动布局约束不会设置为 SuperView 的边缘 [重复]【英文标题】:Autolayout constraint wont set to edge of SuperView [duplicate] 【发布时间】:2014-09-30 17:22:48 【问题描述】:

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

为什么会这样?

【问题讨论】:

【参考方案1】:

您必须在不勾选“限制到边距”选项的情况下添加约束。

【讨论】:

是的,谢谢【参考方案2】:

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

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

接受这些更改后,您可能会发现自己遇到约束错误。您可以像修复任何约束错误一样轻松地修复这些问题。

希望这会有所帮助。

【讨论】:

以上是关于自动布局约束不会设置为 SuperView 的边缘 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

不遵守自动布局底部间距约束

如何在imageView上设置自动布局约束以获得良好的分辨率图像?

superview 的底部约束不适用于 3.5 布局

iOS 自动布局约束刷新

UITableViewCell 中多个 UIlable 的自动布局

iOS自动布局:设置尾随空间等于superview的宽度