我有一个项目,过去我通常使用Xcode界面构建器添加约束。在某些情况下,我需要在控制器源代码中添加一些约束。我的问题是,虽然我得到了我想要的结果,但Xcode会返回缺少约束的警告。
这个警告信息是否需要我处理?也就是说,我在源代码中添加了约束。那么,我是否需要做些什么来更新我的故事板,以便能够知道这些约束条件?
我有一个项目,过去我通常使用Xcode界面构建器添加约束。在某些情况下,我需要在控制器源代码中添加一些约束。我的问题是,虽然我得到了我想要的结果,但Xcode会返回缺少约束的警告。
这个警告信息是否需要我处理?也就是说,我在源代码中添加了约束。那么,我是否需要做些什么来更新我的故事板,以便能够知道这些约束条件?
您不需要处理这些警告,但如果想要摆脱这些警告,可以在IB中添加占位符约束,这些占位符约束在构建时会被删除,所以您可以用代码生成的约束来替换它们。当您选择一个约束并进入属性检查器时,您将看到一个框,“占位符 -- 在构建时删除”。如果您勾选了该框,则这些约束将自动删除。
AutoLayout是一种描述性的“语言”,它描述了在运行时应该如何呈现布局(框架大小、间距等)到视图中。当您收到缺少约束警告,换句话说是模糊的布局时,布局很可能会具有不可预测的行为。为了确保您的布局按照您的意愿呈现,您应该清除这些警告。