2016-02-22 221 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上呈現,並立即在成功呈現其他。這是做你想做的事的最安全的選擇。