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

Has*_*ssy 7 ios viewdidlayoutsubviews ios13

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

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

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

see*_*eya 1

我仅面临这个问题,UIViewController它将作为容器视图控制器的子级添加。设备未旋转 - 这些只是在UIViewController最初添加到层次结构时将调用的方法:

iOS 12:

  1. viewDidLayoutSubviews
  2. 查看是否出现

iOS 13:

  1. 查看是否出现
  2. viewDidLayoutSubviews

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