iOS 8中updateViewConstraints的行为更改

Dom*_*ial 5 objective-c autolayout ios8

在iOS 8下测试我的应用程序时,我注意到一些小的图形故障:一些UIViews元素不在正确的位置,其他元素的大小不正确.

在第一步中,我使用故事板,自动布局和约束.然后我使用编程方式调整约束以完全适合设备的屏幕大小updateViewConstraints.

完美在iOS 7,但在iOS8上的一些小问题上如下图:./Users/dominiquevial​​/Documents/Informatique/Dev/Novae马拉松/ _log /捕获/ iOS8上 - iPhone 6/pause.png

调查后我发现了问题:updateViewConstraints没有调用.我不明白为什么,也许是由于一些优化......

纠正这个问题很容易:

  1. 用来viewWillLayoutSubviews代替updateViewConstraints
  2. 或添加呼叫setNeedsUpdateConstraintsviewWillAppear

哪种方式最好?

Mar*_*hea 1

取决于用户是否可以在视图出现后导致视图进入无效状态,如果可以,则为第一个选项。如果这是不可能的,那么第二个。

您的应用程序需要做的工作越少越好。