我想做的是最简单的概念。但是,我只是没有得到任何想要的结果。
我的应用程序是一个标准的选项卡栏应用程序,每个选项卡中的所有视图控制器都只支持纵向方向,这正是我想要的。
但是,在应用程序的一个部分中,我显示了一个模态视图控制器,它显然覆盖了选项卡栏控制器。这是一个文本输入屏幕,我非常希望这个视图能够支持横向和纵向。然后,一旦用户取消了该模态视图控制器,标签栏控制器将再次显示,一切都是纵向的。
我尝试了很多东西,但没有任何效果。如果我告诉应用程序支持两个方向,那么旋转会在模态上正确发生,但也会在应用程序的其余部分发生,这是我不想要的。
我已经尝试实现所有新的 shouldAutorotate 和 supportInterfaceOrientations 方法,但似乎没有任何效果。
我几乎要工作的最接近的尝试是我在我的应用程序委托中创建了一个 UITabBarController 类别,以转发 shouldAutorotate 和supportedInterfaceOrientations。这最初似乎可行,但由于某种原因,每当取消我的模态 vc 时,我的应用程序标签栏部分总是在状态栏后面向上移动 20 像素?我不知道那是怎么回事。
我创建了一个测试应用程序,其中没有 UITabBarController,我能够毫无问题地编写我想要的行为,并且它运行良好。因此,很明显,与标签栏控制器有关的某些事情使这成为一个难题。
请让我知道解决这个简单概念的诀窍是什么。
谢谢!