仅限iPad App Portrait?

时间:2013-01-06 06:15:06

标签: ios xcode ipad uitabbarcontroller autorotate

我的应用程序完全是为IOS6设计的。我为iPhone使用xib,为iPad使用另一个。我的AppDelegate设置了一个TabBarController,虽然TabBarController本身没有类。 TabBarController有两个选项卡,1个是NavigationController,1个是一个View Controller,每个都有自己的类。我希望iPad能够以纵向模式,颠倒和正常运行。在Xcode中Target的摘要选项卡上,我支持将界面方向设置为Portrait和Portrait Upside Down。

我对iOS 6的理解是你只需要把

- (NSUInteger)supportedInterfaceOrientations

在类的最高父控制器中,并设置您希望使用哪个Masks以及要使用的所有子容器。所以,在导航控制器的根视图控制器中,我把:

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait|UIInterfaceOrientationMaskPortraitUpsideDown;
}

在每个子课程中,我都说:

- (BOOL)shouldAutorotate{

    if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
    {

        return YES;

    }
    else
    {
        return NO;
    }


}

然后我将相同的两个方法放在第二个选项卡中,它只是一个视图控制器类。

我在iPad上安装了应用程序,它在纵向模式下工作正常,但在我将其颠倒时没有旋转。我退出应用程序并将iPad颠倒过来,但当我再次启动应用程序时,它仍然保留在同一位置。所以,我完全杀死了应用程序,并从头开始颠倒了。启动画面颠倒了,但是当屏幕消失时,应用程序仍然只以纵向模式显示,使显示屏颠倒。

我错过了什么?

4 个答案:

答案 0 :(得分:2)

单击appName选择Target,然后选择您要支持的方向。感谢

enter image description here

答案 1 :(得分:0)

上面的代码适用于iOS 6之前的版本。对于iOS 6,您必须使用蒙版方向。如果您希望iPad中的所有视图都旋转,或者您可以选择使用上述答案。如果您想对其进行硬编码,请在以下链接中查看我的答案,以获取所有蒙版自动旋转的详细代码,或者只旋转一个视图并让其他视图不旋转。这里有什么链接 iOS 6 supportedInterfaceOrientations issue

以上答案也为您提供了正确的解决方案,但如果您想学习如何编码,请在上面的链接中查看我的答案。快乐的编码。

答案 2 :(得分:0)

是否启用了旋转锁定? (如果您是iOS新手,请双击主页按钮,然后向右滑动:它是箭头形状的小金属按钮。)

答案 3 :(得分:0)

如果要运行应用程序以仅在纵向模式下运行, 1.选择目标。 2.一般 - >发展信息 - >设备方向取消选中所有其他方向。仅应选中模式。然后运行项目。