2011-08-31 11 views
4

インターフェイスの向きを手動で簡単に設定する方法はありますか?デバイスの向きが読み込み中に横向きであっても、インターフェイスをポートレートに設定する必要があります。キンダはCGAffineTransformsから遠ざかりたい。私の作品(とあるハックのビットを、あなたが望む方向に変更する前に、1頭の向きを表示することができます)手動でインターフェイスの向きを設定する

答えて

16

一つの方法私が知っているのである:

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    UIApplication* application = [UIApplication sharedApplication]; 

    if (application.statusBarOrientation != UIInterfaceOrientationPortrait) 
    { 
     UIViewController *c = [[UIViewController alloc]init]; 
     [self presentModalViewController:c animated:NO]; 
     [self dismissModalViewControllerAnimated:NO]; 
     [c release]; 
    } 
} 
+0

これは実際に私が説明した状況では本当にうまく機能します。しかし、何らかの理由で、ポートレートモード(UIInterfaceOrientationPortraitをUIInterfaceOrientationLandscapeLeftに変更)から強制的に風景を作成しようとすると、うまく機能しません。アイデア? –

+0

実際に動作する汚れたハック。 – beefon

+0

ありがとう!素晴らしいコード行=) – CReaTuS

2

オーバーライドこれがロードされるまで配向を制御します...

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
+0

オリエンテーションのプロパティは読み取り専用です –

+0

はい、あなたは正しいです。私の間違い。私は自分の答えを更新しました。 shouldAutorotateToInterfaceOrientationをオーバーライドし、必要なだけオリエンテーションを維持することを検討できます。 – Saran

2

まず、その後、私のリファクタリングライブラリから取らこのカテゴリの方法、es_ios_utils使用し、唯一のサポートの肖像画にアプリとビューを設定します。

フレームが完了する前に表示されたビューは表示されません。

+0

私はおそらく、シェーンから、または彼のソースが何であれ、これを得たでしょう。彼はもう少し完全であり、私は再利用のためのカテゴリの使用を示唆している。 –

+0

ありがとう!偉大なコード行=) – CReaTuS

+0

うわー、あなたはそれがどのように動作するかについてもっと説明できますか? – OMGPOP

関連する問題