iOS将viewcontroller的视图呈现在顶部的任何位置

时间:2012-07-14 15:57:03

标签: ios uiviewcontroller

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

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

然后我有一个特殊模块

             View4--->View4controller

rootviewcontroller中存在后台线程。 我可以在view1,view2或view3中任意一个。当出现某种情况时,后台线程将通过

启动View4
     [presentviewcontroller:View4controller]

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

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

1 个答案:

答案 0 :(得分: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)。

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