2012-03-14 56 views
3

我有一個處於橫向的主視圖控制器(整個應用程序是橫向左/右)。模態視圖控制器在iOS 5.1中不正確地旋轉,而不是在5.0

這主要觀點給出了使用模式的看法:

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

在iOS系統5.0 *,這個工程完全按照我所期望的,主要的觀點是在景觀和模態視圖顯示在景觀。

在iOS 5.1中,主視圖立即向左旋轉90º,然後模態視圖也出現旋轉90º並裁剪。當模態視圖被解除時,主視圖返回並且正常並且處於橫向。

我已經嘗試了所有種shouldAutorotateToInterfaceOrientation的突變和它沒有任何效果。我已經離開它像這樣現在:

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

我實在不明白這一點,從來沒有過一個問題,直到我只是把的iOS 5.1在我的iPhone就跑,第一次就可以了應用。

在此先感謝!

*本使用5.0和5.1 iPhone模擬器

+0

就發現,在iOS的5.1,在父shouldAutorotateToInterfaceOrientation被再次調用**當模態視圖出現,打亂了一切。在5.0中,該方法在父對象第一次出現後不會被調用 – REDMX 2012-03-14 22:51:34

回答

-1

確保您展示模態視圖控制器(無動畫)被確認,而你做到這一點之前:

[window makeKeyAndVisible] 

於是呼

[uiviewcontroller presentViewController:modalViewController animated:NO completion:nil]; 
[window makeKeyAndVisible];