视图控制器之间在方向更改时导航
问题描述:
我正在开发使用两个视图控制器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控制器视图的一部分就是场景。请帮助我找到正确的解决方案。
答
一个可能的解决方案是目前在B的viewController与另一navigationController其中
// sysversion>=ios6
- (BOOL)shouldAutorotate
{
return NO;
}
// sysversion<=ios5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
你能详细解释一下吗?在这种情况下应该有什么故事板树? – user3816018 2014-09-28 08:29:51
两个导航控制器。导航控制器的根视图控制器是您的视图控制器。两个根视图控制器是B视图控制器。分别设置'shouldAutorotate' – dopcn 2014-09-28 09:26:18