0

我使用IIViewDeckController和如下面臨非常奇怪的問題改變界面取向?:iiview甲板控制器改變幀,而不上呈現模態視圖

ViewController(這是一個IIViewDeckController)是在橫向模式下,然後我提出一個新的視圖控制器模態地在它上面。現在,模式視圖控制器不支持橫向模式,因此僅以縱向模式顯示。
截至目前,一切都很順利。

但是,只要我試圖解僱這個模態呈現的控制器,IIViewDeckController's視圖的框架變成(320,568)(我認爲這已經旋轉到肖像模式,但我不確定)。所以我查了self.interfaceOrientation,顯示「4」(即UIInterfaceOrientationLandscapeLeft),應該是實際情況。

但是,這兩件事讓我感到困惑,因爲畫面顯示肖像模式和屬性顯示不同的東西。現在由於這個框架的改變而不改變interfaceOrientation,導致視圖中對象框架的錯誤計算。

回答

0

我面臨同樣的問題,我通過在AppDelegate類中分類IIViewDeckController來解決它。

以下是一個方法,被要求進行分類: -

@interface IIViewDeckController (categoryForOrientation) 
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation; 
@end 

@implementation IIViewDeckController (categoryForOrientation) 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ 
    return [self interfaceOrientation]; 
} 
相關問題