嵌入在容器视图中的UINavigationController的错误旋转行为

时间:2016-08-03 12:27:26

标签: ios uinavigationcontroller rotation uicontainerview

我目前面临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 调用。这些例子来自干净简单的项目设置,没有什么可以产生副作用。这里是用过的故事板的截图:

Storyboard snapshot

如果我们排除 A ,则此问题不存在,只有在UINavigationController作为childViewController嵌入时才存在。

对我来说就像一个UIKit错误。其他人遇到过这个问题或有任何建议吗?

0 个答案:

没有答案