忽略自动布局约束,然后恢复它们

Ignore autolayout constraints and then restore them

我需要完全忽略子视图上的自动布局约束。我试过使用 translatesAutoresizingMaskIntoConstraints = YES ,尽管帖子已经说明了。这很棒,可以让我设置对象的框架。这不会做的是完全忽略自动布局约束,因为我设置的视图 translatesAutoresizingMaskIntoConstraints = YES 仍然导致调试器输出 "will attempt to recover by breaking constraint ....."。 我该怎么做才能使约束甚至不会被引用,而是真正被忽略,直到我想把它们带回来。 有没有简单的解决办法?

在 iOS 8 及更高版本上,您可以通过将 active 属性 设置为 false 来停用约束。您可以创建一个 IBOutlet 列表,这样您就不必一一引用所有约束并一次激活和停用它们。

为了向后兼容,您可以将它们从视图中删除,稍后再添加。