Autolayout约束在iOS 8中起作用,在iOS 9中起作用

时间:2015-08-28 16:11:50

标签: xcode swift ios8 ios9

我有一个用Swift编写的Xcode 6.2项目。问题是我在iOS 8 Beta 5上的iOS 8工作正常的自动布局约束(在Beta 1中工作不确定其他人)。我已经重做了约束并研究了问题,但我无法找到解决iOS 9问题的方法。这有什么原因可能会发生吗?

我可以上传您需要的任何内容以帮助找到解决方案;我没有上传约束,因为它似乎是一个应用程序范围的问题,不是特定于任何约束。

1 个答案:

答案 0 :(得分:0)

@jamespick您必须更新容器视图而不是整个UIViewController

让我用一些代码来解释。
在IOS 9之前...

[self.view setNeedsUpdateConstraints];
[self.view setNeedsLayout];

之后和之后的所有版本IOS 9 ......

[self.containerView setNeedsUpdateConstraints];
[self.containerView setNeedsLayout];

由于IOS 9及更高版本,您无法再在视图上调用setNeedsUpdateConstraintssetNeedsLayout,并希望更新子视图的约束。