我有以下視圖控制器設置推:在iOS6的,麻煩迫使視圖控制器某些interfaceOrientation當棧
viewController1能夠自由旋轉到任何方位除了肖像倒掛。
viewController2被推到viewController1之上,我想它是相同的方向viewController1是,我希望它不能夠旋轉。
viewController3被推到viewController2之上。我希望viewController3處於縱向模式。
我有很多問題試圖在iOS6中完成這一點(還沒有在iOS5中嘗試過)。首先,我已經創建了自己的導航控制器,並把它下面:
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.topViewController preferredInterfaceOrientationForPresentation];
}
- (NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (BOOL) shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}
我已經嘗試了很多這些東西的不同組合就知道結果。主要是我在掙扎的地方是,如果vc2處於風景中,強制將vc3呈現爲肖像。任何幫助,將不勝感激。
那麼你的意思是我不得不推動它作爲模態觀來強制輪換?我無法將它推到導航堆棧上並強制它? – 2013-03-08 19:05:19
是的,除了你所說的方式之外,你必須將它呈現爲過去被稱爲模態視圖控制器的形式,而不是將其推送到導航堆棧上。呈現的視圖控制器可以強制旋轉。推到導航堆棧上的視圖控制器不能;該應用程序可以動態決定如何在*用戶旋轉設備*時作出響應,但僅僅將視圖控制器推入導航堆棧的操作不會導致應用程序界面旋轉。 – matt 2013-03-08 19:10:18
您是否碰巧知道是否有手動方式強制視圖控制器在提交後旋轉?不是讓用戶旋轉它,而是讓它自行旋轉? – 2013-03-08 19:14:11