iOS6首选接口方向不起作用

我正在尝试使用iOS6自动旋转混乱。

我已经看过几乎所有关于它的SO问题,无论我尝试什么,我都无法得到轮换的工作方式。

该应用程序正在使用故事板,布局如下:

Navigation controller ---> Root view controller ---> Tab view controller ---> View controller ---> Landscape view controller.

当我旋转模拟器时,视图控制器会自动旋转,但当继续回到之前的视图(设置为纵向)时,视图变为横向,当它应该是纵向时。 如果我将模拟器旋转回来,视图会自动旋转到纵向,但是这应该已经自动完成了!

我已经实现(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation ,并没有被调用在我把它放在任何视图控制器。

我已经subclassed NavigationController返回topViewControllersupportedInterfaceOrientationspreferredInterfaceOrientationForPresentation和旋转模拟器似乎工作时自动旋转,但preferredInterfaceOrientationForPresentation永远不会工作。

有没有人有这个解决scheme?

看起来苹果已经消除了以特定方向推送视图的能力。 preferredInterfaceOrientationForPresentation确实被调用,但只有在popup或呈现视图控制器时。 我不得不提出我的景观而不是推它,并设置自动shouldAutoRotate =否。

参考: 在iOS6中,当推入堆栈时遇到强制ViewController到某个interfaceOrientation的更多细节。