我正在使用 UINavigationController 来推送和弹出视图。导航栏被隐藏。
我有 RootViewController,它设置为自动旋转。当它可见时它工作得很好。我也有 GalleryViewController。它通过返回 no 来禁用自动旋转。
我的问题是,当 GalleryViewController 在导航堆栈上时,RootViewController 停止响应它的自动旋转事件。
如果我处于纵向模式,并且我旋转设备(在查看 GalleryViewController 时)然后点击后退按钮,它会将 GalleryViewController 从堆栈中弹出并显示 RootViewController,但 RootViewController 并没有按应有的方式更改旋转。
我坚持使用 -viewWillAppear 方法并检查 UIDevice 方向的状态。它为我提供了设备的正确方向。
顺便说一句,我还尝试在 GalleryViewController 中启用自动旋转。然后它正确地旋转视图,但仍然不旋转 RootViewController。
似乎在使用导航控制器时,只有堆栈的顶部会旋转。
问题:由于设备在调用 -viewWillAppear 时知道它处于正确的旋转状态,我可以强制它以某种方式更新吗?
-标记