0

これは非常に一般的な問題であることは認識していますが、私が見つけた解決策のどれも私の問題を解決していません。

Game Center をランドスケープで起動したときにクラッシュする問題を修正するには、サポートされているインターフェイスの向きをすべての向きに追加する必要があります (私はこれを行いました)。iPhone/iPod でのクラッシュは、これらの特定のデバイスで解決されました。

今、私が抱えている問題は iPad 1 固有のものです。ゲームの起動時に iPad を縦向きモードで保持すると、デバイスを回転させるまでゲームが縦向きのままになることがあります (その後回転させようとすると、そうはなりません。この問題が発生するのは起動時のみです)。サポートされているインターフェイスの向きから縦向きを削除しない限り。残念ながら、これを行うと、アプリは他のデバイスでクラッシュします。

私の最初のインターフェイスの向きは、Landscape Left です。

これは私が現在持っているコードです:

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

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


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

- (BOOL)shouldAutorotate{
    return YES;
}
4

1 に答える 1

1

appDelegate でこれを試してください:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    if( orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown )
        [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];
}
于 2013-01-21T18:55:46.303 に答える