iOS 13-在更改框架时调用viewDidLayoutSubviews

时间:2019-09-25 08:47:06

标签: ios ios13 viewdidlayoutsubviews

iOS 13 中的 viewdidlayoutsubviews 中进行了一些更改,这导致它在View Controller的生命周期中的第一个调用完成后被调用。 (在更换框架上)。这在应用程序中产生了一些奇怪的效果。

我观察到的是,在iOS13更改框架之前,不会调用 viewdidlayoutsubviews ,而在新的iOS 13中会调用它。

这是Apple的某种新功能还是某些bug?有关如何停止这种行为的任何建议?

1 个答案:

答案 0 :(得分:0)

我仅针对UIViewController会遇到此问题,该问题将作为Container View Controller的子级添加。设备没有旋转-这些只是在将UIViewController最初添加到层次结构时将被调用的方法:

iOS 12:

  1. viewDidLayoutSubviews
  2. viewDidAppear

iOS 13:

  1. viewDidAppear
  2. viewDidLayoutSubviews

对我来说,这不是一个功能,因此在viewDidLayoutSubviews之后调用viewDidAppear(如果设备未旋转)是没有意义的。看起来像是iOS 13上的错误。