使用iOS 6构建iPad Auto旋转问题

时间:2013-01-21 17:34:13

标签: objective-c xcode ipad ios6 ios5.1

我意识到这是一个非常常见的问题,但我找到的解决方案都没有解决我的问题。

要在横向启动时修复Game Center的崩溃问题,您必须为所有方向添加支持的界面方向(我已经完成)。现在已经针对这些特定设备解决了iPhone / iPod上的崩溃问题。

现在,我遇到的问题是iPad 1具体。如果您在游戏启动时将iPad保持在纵向模式,游戏可以保持纵向直到您旋转设备(如果您再尝试将其旋转回来,它不会,只有在启动时我才能解决此问题)。除非我从支持的界面方向删除肖像。不幸的是,如果我这样做,该应用程序将在其他设备上崩溃。

我的初始界面方向是左侧风景。

这是我目前的代码:

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

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeRight|UIInterfaceOrientationMaskLandscapeLeft;
}


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

- (BOOL)shouldAutorotate{
    return YES;
}

1 个答案:

答案 0 :(得分:1)

在appDelegate中尝试:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    if( orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown )
        [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
}