在Xcode 6 beta 5中,将自动布局约束设置为占位符似乎不起作用?

时间:2014-08-16 21:37:54

标签: interface-builder constraints autolayout xcode6-beta5

每当您在Interface Builder中不提供自动布局约束时,在您运行应用程序时会自动为您创建约束。

我想使用Masonry来管理我自己的约束,但故事板中的约束正在阻碍。

Xcode 5中的解决方案曾经是您可以明确地说自动布局约束在构建时设置为占位符/删除,您可以在检查器中设置一个选项:

screenie

但现在在Xcode 6 beta 5中,屏幕看起来像这样:

screenie2

......我不清楚None做了什么。

最糟糕的是,它似乎没有删除任何约束,正如您从错误中看到的那样!

在这种情况下我该怎么办?

2 个答案:

答案 0 :(得分:1)

我有同样的问题。占位符约束根本不起作用。 我在添加自己的任何内容之前就已经删除了NSIBPrototypingLayoutConstraint。

if ([self.view.constraints count] > 0) {
    [self.view removeConstraints:self.view.constraints];
}

答案 1 :(得分:1)

以下是我在XCode 6中的故事板编辑器中修复此问题的方法:首先在要保持不受约束的子视图上设置一些名义上/下/左/右约束(我使用“间距到最近邻居”和未勾选“约束到” margins“,然后单独点击每个约束,转到Size Inspector,并在构建时勾选占位符/删除。这意味着Auto Layout仍然控制整个nib,但特定子视图没有任何约束。我发现我能够以编程方式更改子视图的大小和原点而不会像以前那样“无法同时满足约束:NSIBPrototypingLayoutConstraint”警告消息。