0

iOS では、モーダル ビュー コントローラー (縦向きでのみ表示するように強制されている) を閉じた後、デバイスが横向きモードで保持されている場合、モーダル ビュー コントローラーを提示したビュー コントローラーが正しく横向きに回転しません。

「willAnimateRotationToInterfaceOrientation」メソッドが呼び出されるので、サブビューなどの回転を管理できますが、実際のビュー コントローラーは横向きに回転しません。したがって、私のサブビューは横向きに見えるはずですが、インターフェイスは縦向きモードになっています。

厄介なのは、iOS 5 シミュレーターで正常に動作することです。すなわち。モーダル ビュー コントローラーを閉じると、表示中のビュー コントローラーが回転して横向きに戻ります。

誰かが似たようなことを経験したことがありますか、またはこれにアプローチする方法を知っていますか?

4

1 に答える 1

0

IOS 6の場合、uはこのメソッドで方向を処理する必要があります。

- (BOOL)shouldAutorotate; {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations; {
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
        return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
    }
    else{
        return UIInterfaceOrientationMaskLandscape;
    }
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation; {
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
        return UIInterfaceOrientationPortrait;
    }
    else{
        return UIInterfaceOrientationLandscapeLeft;
    }
}
于 2013-03-08T04:15:17.487 に答える