0

我在 cocos2d 中开发了一个游戏,所有游戏屏幕都是横向模式。我正在尝试实现游戏中心,但在身份验证时崩溃。我没有找到类似问题的答案。请提出正确的方法...

崩溃问题:-'UIApplicationInvalidInterfaceOrientation',原因:'支持的方向与应用程序没有共同方向,并且 shouldAutorotate 返回 YES'

我尝试了以下解决方案,但它也干扰了游戏方向,游戏也以纵向模式开始工作,我不想要:-

  • (NSUInteger)应用程序:(UIApplication*)应用程序

    supportedInterfaceOrientationsForWindow: (UIWindow*)window { return UIInterfaceOrientationMaskAllButUpsideDown; }

4

2 回答 2

2

确保您在 Xcode 摘要页面中选择了横向。

在此处输入图像描述

还要在您的视图控制器中添加这些代码

-(NSUInteger)supportedInterfaceOrientations {
   return UIInterfaceOrientationMaskLandscape;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

在 AppDelegate 中更新此函数:

- (NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window
{
    return UIInterfaceOrientationMaskLandscape;
}
于 2013-07-23T05:35:12.073 回答
0

解决方案很短,我花了很多时间才找到它:

AppDelegate方法中didFinishLaunchingWithOptions放这一行:

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

显然在调用登录游戏中心方法之前,我把它放在创建之前UIWindows

于 2013-07-25T05:21:22.367 回答