方向改变时viewcontrollers之间的导航

时间:2014-09-27 23:26:33

标签: ios objective-c orientation-changes

我正在开发使用两个视图控制器A和B的ios应用程序。当B仅处于纵向模式时,A支持横向和纵向两种方向。我的目标是当我从A导航到B时,B viewcontroller始终只处于纵向模式。我对navigationcontroller中的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控制器视图的一部分就是场景。请帮我找到合适的解决方案。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是将B viewController与另一个导航控制器一起呈现在其中

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

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}