通过仅纵向视图控制器呈现仅横向视图控制器时,状态栏隐藏

jrt*_*ton 6 uiinterfaceorientation ios uistatusbar

我有一个导航控制器,持有一个只支持纵向的视图控制器:

在此输入图像描述

这提供了一个仅支持横向的全屏视图控制器:

在此输入图像描述

不幸的是,在转换期间,呈现视图控制器上的状态栏被移除,这使得内容在转换开始之前急剧上升.我已经实现了自定义淡入淡出过渡以使效果明显:

在此输入图像描述

请注意,状态栏不存在.这是自定义转换开始之前完成的,没有动画,所以即使我在转换开始之前拍摄快照并将其添加到容器视图中,您仍然会暂时看到缩小的导航栏.

有一种非可怕的方法来解决这个问题吗?我不想在转换之外添加快照(比如这个答案).

我已尝试将演示文稿样式设置为自定义而不是全屏,但这不会使设备处于纵向方向.使用自定义呈现样式使设备保持横向方向的解决方案也是可以接受的.

有一个示例项目演示问题在这里

Jos*_*ord 0

可能太可怕了,但如果是视图抖动而不是状态栏消失本身造成困扰,您是否可以更改约束,以便顶部不受顶部布局指南的约束,而是受具有适当常量的超级视图顶部的约束?