0

我有一个几乎总是纵向的故事板应用程序。我确实有一个需要处于横向模式的导航控制器(带有 2 个视图控制器)。它连接回应用程序的主选项卡控制器,应用程序中的所有其他视图控制器和导航控制器都需要保持纵向模式。我尝试将方向设置为横向并允许左右方向,但这会解锁所有视图控制器以切换到横向模式。有没有办法只允许这两个?

谢谢你的帮助!本

4

2 回答 2

1

首先,不要继承 UINavigationController !

只有 LandScape Orientation 在需要位于 Landscape 的 ViewController 类中使用它:

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}

这将使您的视图仅处于横向模式。不要创建 UINavigationController 的子类来将上面的代码段放入其中!这将导致您的所有视图保持锁定在横向!

希望对您有所帮助:)!

于 2012-09-19T00:52:45.237 回答
1

您必须-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation在应用程序的每个视图控制器中进行子类化,并且只允许 2 个视图控制器使用它。但是对于您的标签栏,您还需要在呈现这些视图控制器时将其设置为 YES(您可能需要将标签栏子类化才能做到这一点),否则为 NO

于 2012-09-18T22:26:55.023 回答