2012-03-06 12 views
3

2つのストーリーボード、1つのポートレイト、1つの風景を作成し、デバイスの向きに応じてアクセスする方法はありますか?肖像画と風景のための2つのストーリーボード

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
    { 
     self.storyboard = (one of the storyboards); 
    } 
    else 
    { 
     self.storyboard (the other); 
    } 
} 

このコードは機能しません。 ??????????????

+0

http://stackoverflow.com/questions/7803524/storyboard-orientation-support-for-xcode-4-2 – JAHelia

答えて

3

さまざまな方向を扱う方がはるかに簡単だと思います。

layoutSubviewsメソッドを使用して、ビュー内から直接ビューのレイアウトを管理できます。

このメソッドは、ビューのフレームが変更されるたびに(たとえば、向きが変更されたときなどに)呼び出されます。

内部では、ビューのサイズに基づいてカスタムレイアウトを行うことができます。

これは、方向によってはナビゲーションが異なるため(Appleが推奨していない)、異なるストーリーボードが必要な場合は、レイアウトのみを管理したいと考えています。しかし、もう一度、実際にそれを行う最良の方法ではありません。

希望すると助かります!

+1

すべてのオブジェクトを自動サイズ設定することなく、明確なインターフェイスを構築するために、別のストーリーボードが必要でした – Alessandro

0

回転するとストーリーボードを変更することはかなり可能です。これは、回転時にView Controllerを変更することとほぼ同じです。

shouldAutorotateToInterfaceOrientation:を使用しないでください。このメソッドは、回転が許可されているかどうかを調べるために呼び出されます。回転そのものではありません。 willRotateToInterfaceOrientation:duration:を使用する必要があります。これは、ローテーションを開始しようとしているときに呼び出されるためです。

異なるストーリーボードのビューコントローラを変更する場合は、this video tutorialをお勧めします。私は数日前にそれを見て、それを見た後、私はかなり多くのストーリーボードを使用することができました。

関連する問題