0

我有 3 个普通视图,每个视图都由一个视图控制器控制,

    view1---->View1controller (rootviewcontroller)
       view2---->View2controller
      view3---->View3controller

然后我有一个特殊的模块

             View4--->View4controller

发生的事情是rootviewcontroller中存在后台线程。我可以在 view1、view2 或 view3 之间。当出现某些情况时,后台线程将通过以下方式启动 View4

     [presentviewcontroller:View4controller]

我希望 View4 上升到顶部,如果我在 view2、View3 中也没关系。但问题是要呈现的代码在 View1controller 中。因此,如果我在 view2 中并且满足特殊条件,则会从 View1controller 的后台线程中弹出 UIAlertView,向用户说明出现的特殊情况。

那么当我在 View2 中时,如何将 View4 从 View1controller 呈现给 TOP?

4

1 回答 1

0

我相信你不能那样做。您要么必须将 view4 传递给 View2 并让它呈现它,也许使用这样的东西:

@property UIViewController *currentView;
@synthesize currentView;
//and when trying to push view4 do the following
if (currentView!=nil) {

[currentView presentViewContoller:View4Cont];

}

或使用 view1 关闭 View2 并同时呈现 View4(使用动画属性 = NO)。

还要确保从主线程执行所有特定于接口的操作。

于 2012-07-14T16:03:30.680 回答