代码之家  ›  专栏  ›  技术社区  ›  pajevic

在模式视图下方旋转视图

  •  2
  • pajevic  · 技术社区  · 13 年前

    我有一个 UIViewController (调用 MainViewController )其模式上呈现半透明视图( HelpOverlayViewController )以下为:

    HelpOverlayViewController *helpOverlayViewController = [[HelpOverlayViewController alloc] init];
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    helpOverlayViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentViewController:helpOverlayViewController animated:YES completion:nil];
    

    如果用户在 帮助覆盖视图控制器 显示它只旋转 帮助覆盖视图控制器 而不是 主视图控制器 即父控制器。这是一个问题,因为 帮助覆盖视图控制器 是半透明的,并且 主视图控制器 在其下方可见。

    两个控制器都有方法

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        return YES;
    }
    

    它们都独立地旋转得很好。

    当模式视图旋转时,有没有办法强制底层视图控制器旋转?

    1 回复  |  直到 13 年前
        1
  •  0
  •   CSmith    13 年前

    我知道像这样的问题可能会在很大程度上通过iOS 6得到解决,因为它有一个不同的处理轮换的模型。

    然而,现在这对你没有帮助。您最好将HelpOverlay设置为UIView,而不是UIViewController。您可以将此半透明视图添加到MainViewController(或任何其他)的顶部。将此子视图添加到视图层次时,仍然可以创建动画(如淡入)。使用此模型,您将不再有任何旋转问题。