1

iOS 6 でアプリを縦向きから横向きに回転するときに別のビューを作成したいと思います。見つけることができる唯一の重要なドキュメントは Apple Developer サイトにありますが、あまり完全ではありません。

縦方向のビュー コントローラーと横方向のビュー コントローラーを回転目的でセットアップ (および接続) する方法を徹底的に実行する必要があります。

推奨されていない iOS 5 のいくつかの方法を使用して何とか動作させることができましたが、それは絶対確実またはフェイルセーフではなく、現在 iOS ユーザーの 80% 以上が iOS 6 を使用しています。

ありがとう

4

1 に答える 1

4

pmk の提案に従って、次のことを行うよう拡張して提案します。

xib ファイルで、UIViewController のビュー以外に 2 つの異なるビューを作成します。そのうちの 1 つはポートレート モードで、もう 1 つはランドスケープ モードにする必要があります。

インターフェイス ファイルで 2 つの IBOutlet ビューを宣言し、上で説明したビューに接続します。

IBOutlet UIView *portraitView;

IBOutlet UIView *landscapeView;

ここで、実装ファイルで方向の変更を「認識する」必要があり、方向に応じて正しいものを設定します。あなたのviewDidLoadであなたは置くことができます:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];

そして最後に、次のようなものを実装します。

-(void)didRotate:(NSNotification *)notification
{   
    UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

    if (orientation == UIDeviceOrientationLandscape)
    {
         portraitView.hidden = YES;
         landscapeView.hidden = NO;
    }
    else if (orientation == UIDeviceOrientationPortrait)
    {
         portraitView.hidden = NO;
         landscapeView.hidden = YES;
    }
}
于 2013-04-28T10:23:26.803 に答える