从UINavigationController弹出视图会更改设备方向

时间:2011-05-18 17:14:56

标签: ios ipad uinavigationcontroller

我的iPad上的UINavigationController存在问题。当应用程序以横向方向启动时,从导航控制器弹出顶视图控制器会导致设备方向变为纵向,并且当视图变为可见并调整为纵向时,显示的视图会向下滑动。如果我发起呼叫或者通过后退按钮自动完成呼叫没有任何区别。

当应用程序以纵向模式启动并且设备稍后变为横向时,我看不到相同的行为,一切正常。

欢迎任何指向寻找原因的地方和寻找原因的建议或解决方法建议以防止这种情况发生。

谢谢你, 盎司

1 个答案:

答案 0 :(得分:2)

UINavigationController视图层次结构中的一个视图控制器是而不是覆盖shouldAutorotateToInterfaceOrientation:方法,默认情况下只返回UIInterfaceOrientationPortrait的YES - 所以,当该特定视图时控制器从前面开始,它会自动旋转到它支持的方向。

您可以通过查找违规视图控制器并添加以下代码来解决此问题:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Overriden to allow any orientation.
    return YES;
}