我目前面临UINavigationController旋转行为的不一致。 我有一个具有以下控制器层次结构的示例:
TopLevelControllerWithContainerView-> UINavigationController-> topControllerOfNavController。 让我们通过称它们A-> B-> C
来简化它A 和 B 的轮播/生命周期回调中的视图大小符合预期,并在图12-2中的文档here中进行了描述。以下是从纵向到横向旋转的示例:
traitcollectiondidchange:
(736.0, 414.0)
viewdidlayoutsubviews:
(736.0, 414.0)
viewdidlayoutsubviews:
(736.0, 414.0)
但是, C 的行为不同:
traitcollectiondidchange:
(414.0, 736.0)
viewdidlayoutsubviews:
(414.0, 736.0)
viewdidlayoutsubviews:
(736.0, 414.0)
正确的尺寸仅适用于第二次 viewdidlayoutsubviews 调用。这些例子来自干净简单的项目设置,没有什么可以产生副作用。这里是用过的故事板的截图:
如果我们排除 A ,则此问题不存在,只有在UINavigationController作为childViewController嵌入时才存在。
对我来说就像一个UIKit错误。其他人遇到过这个问题或有任何建议吗?