强制iPad应用程序在纵向支持时以纵向启动

我的iPad应用程序包含支持横向模式的应用程序中的某个地方。

对于被调用的视图中的shouldAutorotateToInterfaceOrientation ,我必须在info.plist中声明支持横向。

问题:

启动应用程序时显示的UITabController不支持横向模式,我确保在所有的标签栏的视图控制器中指定它。 但是,当设备处于横向模式时启动应用程序时,Tab控制器显示为横向,并且所有标签都看起来失真。

info.plist设置为仅支持纵向模式将强制应用程序正常启动,但是在可旋转视图控制器上将忽略shouldAutorotateToInterfaceOrientation。

我尝试推出的另一个选项是:

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; 

这实际上迫使应用程序以纵向显示,但也使应用程序忽略可旋转的viewcontroller进一步的设备旋转。

更新:这只是iOS6的问题,不能在模拟器上发现

检查这个iOS 6旋转:supportedInterfaceOrientations不工作?

你需要inheritance你的TabBarController并覆盖它的shouldAutoRotateToInterfaceOrientation来控制这个ViewController如何定位自己。