2012-03-14 15 views
3

私は風景の中にあるメインビューコントローラを持っています(アプリケーション全体が左右に横向きです)。5.0ではなく、iOS 5.1ではモーダルビューコントローラが正しく回転しません

メインビューが使用してモーダルビューを提示する:、*

のiOS 5.0で
ModalViewController *modalVC = [[ModalViewController alloc] init]; 
[modalVC setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
[self presentModalViewController:modalVC animated:YES]; 

これは私が期待どおりに動作しますが、メインビューには、風景の中にあるとモーダルビューは、風景の中に表示されます。

iOS 5.1では、メインビューが直ちに90度左に回転し、モーダルビューも90度回転して切り取られて表示されます。モーダルビューが閉じられると、メインビューは元に戻り、通常の状態になります。

私はshouldAutorotateToInterfaceOrientationのすべての種類の突然変異を試しましたが効果はありません。私は今のところ、このようにそれを残してきた:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
} 

私はちょうどこれを理解することはできません、私はちょうど私のiPhone上のiOS 5.1を入れて、その上に最初にアプリを実行するまで問題がなかったです。

ありがとうございます!

*これは、あなたが(アニメーションなし)モーダルビューコントローラを示していることを確認し、あなたがこれを行う前に、5.0と5.1 iPhoneシミュレータ

+0

ちょうど、モーダルビューが表示され、すべてがうんざりすると、iOS 5.1で親のshouldAutorotateToInterfaceOrientationが**再び**呼び出されることが発見されました。 5.0では、親が最初に表示された後にメソッドが呼び出されない – REDMX

答えて

-1

を用いて確認されています

[window makeKeyAndVisible] 

をそう

呼び出します
[uiviewcontroller presentViewController:modalViewController animated:NO completion:nil]; 
[window makeKeyAndVisible]; 
関連する問題