2013-12-16 105 views
2

我有一个项目,我用xcode界面构建器添加约束。在特定情况下,我需要在控制器源中添加一些约束条件。我的问题是,虽然我有我正在寻找的结果,xcode返回缺少约束警告。缺失约束Autolayout警告

这是我应该处理的事情吗?我的意思是,我在源代码中添加了约束条件。显示我做了一些更新我的故事板,以了解这些?

回答

1

您不需要处理这些问题,但是如果您想摆脱警告,则可以在IB中添加占位符约束,这些约束会在构建时被删除,以便用代码生成的约束替换它们。当您选择一个约束并转到属性检查器时,您会看到一个框,“占位符 - 在构建时删除”。如果您选中该框,那些约束将自动删除。

0

不,您不需要,如果您在源代码中添加了约束条件,那么它将在运行时执行。因此只有在源代码中添加了这些约束条件时才需要处理这些警告。

0

AutoLayout是一个描述性的“语言”,它描述了在运行时如何呈现布局(帧大小,间距等)到视图中。如果缺少约束警告,换句话说,布局模糊不清,布局有可能会出现不可预知的行为。为了确保您的布局按照您的意愿呈现,您应该清除这些警告。

+0

没有歧义。我缺少约束警告,但所有这些都是在源代码中处理的。如果我可以强制xcode考虑源代码中创建的约束,那么这种“模糊性”就会消失。还是有问题,或者我可能不明白? – raistlin

+0

不,您仍然有歧义,因为界面构建器中的约束和源代码中的约束不会在同一时间应用(UIViewController生命周期的事情)。我的意见是在接口构建器中添加缺少的约束或将所有约束添加到源代码中。 –