0

我有一个应用程序,其中根视图控制器是一个具有多个选项卡控制器的 UITabBarController。当用户修改某些元素时,此选项卡控制器可以呈现其他视图控制器。当某个通知发生时,我想在所有其他可能视图的顶部呈现一个视图,即使其他一些控制器已经呈现出来。

没有中断时:

    (UITabController)
           |
           |
           |
      ---------------
     |       |       |
    Ctrl1  Ctrl2   Ctrl3
     |
     |
Presented ctrl (TopView)

我试图这样做,但失败了:

中断时:

    (UITabController)----->(Presented Interruption View --> not visible)
           |
           |
           |
      ---------------
     |       |       |
    Ctrl1  Ctrl2   Ctrl3
     |
     |
Presented ctrl (TopView)

管理可以在视图层次结构中随时随地呈现的视图的好方法是什么?

4

1 回答 1

0

处理您的情况的一个好方法是模态显示视图控制器。然后它不会影响视图层次结构的其余部分。

在您的情况下, aUINavigationController将进行演示而不是UITabBarController.

制作一个单独的视图控制器并在中断期间以模态方式呈现它。

[ yourViewController presentViewController : viewControllerForInterruption animated : YES completion : ^{ // completion block 
 } ];

您可以使用相应的解除方法来恢复。

[ viewControllerForInterruption dismissViewControllerAnimated:YES completion:^{ // completion block
 } ];

注意:这些是适用于 iOS 6 的方法。

于 2012-11-24T09:34:57.690 回答