2016-02-22 43 views
0

有没有办法一次呈现两个视图控制器?我的情况是这样的:呈现视图控制器堆栈

从我的根视图控制器(View 0),我想模态地呈现视图(View 1),并驳回这一观点的时候,一个新的视图(View 2)应该是它的下面。

视图层次看起来像这样:

- View 1 
- View 2 
- View 0 (root) 

我试着在视图1.提出它没有动画中-viewDidAppear这似乎并没有被调用,直到演示动画结束后,虽然。并且在-viewDidAppear之前显示它将不起作用,因为该视图尚未处于窗口层次结构中。

有没有什么可接受的方法来做到这一点?

回答

1

呈现UIViewController而另一个UIViewController正在呈现是不可能没有稳定性问题。作为用户体验问题,我认为这种方法也不是最好的。他们应该知道在解雇视图控制器时会发生什么。

如果不硬上使用presentViewController:设置和你有一个UINavigationController,该类的实例有一个方法setViewControllers:animated:,让你推2 UIViewControllers到堆栈。用户能够看到他们返回时得到的内容(后面的项目)。

否则,您可以在VC上呈现,并立即在成功呈现其他。这是做你想做的事的最安全的选择。