1

ストーリーボードアプリで作業していて、回転はiOS6デバイスで機能しますが、iOS5デバイスで実行すると回転しません。ナビゲーションコントローラーにビューコントローラーが埋め込まれているため(ナビゲーションコントローラーはウィンドウのルートビューコントローラーです)、次のメソッドをオーバーライドします。

- (BOOL)shouldAutorotate
{
    return YES;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

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


-(BOOL)shouldAutoRotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

     if ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation ==UIInterfaceOrientationPortrait)){
        return YES;
     } else {
         return NO;
     }
}

また、plistで3つの方向を許可しています。展開のターゲットは、ベースSDK iOS6を備えたiOS5であり、自動レイアウトはオフになっています。これが機能しない理由は何ですか。

ありがとうございました!

4

1 に答える 1

1

あなたのコメントは私をより近くに見させました。これは、自動回転に大文字の「R」があるためです。

メソッド名を次のように変更します。 shouldAutorotateToInterfaceOrientation:

于 2012-11-13T03:02:54.260 に答える