Ios 旋转父视图控制器(如果从NavigationController显示viewController)

Ios 旋转父视图控制器(如果从NavigationController显示viewController),ios,Ios,我在我的应用程序中使用了一个NavigationController,从那里,我将弹出一个viewController。因此,如果我旋转设备,我可以旋转topView(显示viewController),但无法旋转导航控制器顶部的父视图控制器 我需要有关发生这种情况的原因和解决方法的指导。如果您的父视图控制器(显示视图控制器)不是可见视图控制器,则在父视图控制器中永远不会调用旋转方法(-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfa

我在我的应用程序中使用了一个
NavigationController
,从那里,我将弹出一个
viewController
。因此,如果我旋转设备,我可以旋转topView(显示
viewController
),但无法旋转导航控制器顶部的父视图控制器


我需要有关发生这种情况的原因和解决方法的指导。

如果您的父视图控制器(显示视图控制器)不是可见视图控制器,则在父视图控制器中永远不会调用旋转方法(
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
)(显示视图控制器)。因此,您应该根据状态栏方向显式旋转视图控制器。但是,当您关闭显示视图控制器时,将在父视图控制器中调用viewWillLayoutSubviews方法。请在那里执行操作

在父视图控制器中:

- (void)viewWillLayoutSubviews 
{
    //Check your your view controller is visible. If not visible then call
    [self willRotateToInterfaceOrientation:[[UIApplication sharedApplication] statusBarOrientation] duration:0];
}