2014-09-27 89 views
0

我正在開發使用兩個視圖控制器A和B的ios應用程序。當B僅處於縱向模式時,A支持兩種方向橫向和縱向。我的目標是當我從A導航到B時,B viewcontroller始終只處於肖像模式。我在導航控制器中對B viewcontroller進行了限制。視圖控制器之間在方向更改時導航

- (BOOL)shouldAutorotate 

{ 
    _navigation = (MBNavigationController *) self.frontViewController; 

    id currentViewController = [_navigation visibleViewController]; 

    if ([currentViewController isKindOfClass:[MBViewController class]]) 
     return NO; 

    return YES; 
} 

當A縱向時,我導航到B一切正常。但是當A處於橫向模式並且我也這樣做時,B控制器視圖的一部分就是場景。請幫助我找到正確的解決方案。

回答

0

一個可能的解決方案是目前在B的viewController與另一navigationController其中

// sysversion>=ios6 
- (BOOL)shouldAutorotate 
{ 
    return NO; 
} 
// sysversion<=ios5 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 
+0

你能詳細解釋一下嗎?在這種情況下應該有什麼故事板樹? – user3816018 2014-09-28 08:29:51

+0

兩個導航控制器。導航控制器的根視圖控制器是您的視圖控制器。兩個根視圖控制器是B視圖控制器。分別設置'shouldAutorotate' – dopcn 2014-09-28 09:26:18

相關問題