閱讀有關iOS中UIViewControllers更改的文檔,試圖弄清楚呈現模式視圖控制器之間的交互如何在自定義容器視圖控制器內工作。最終,我希望能夠做的就是可靠地遍歷所呈現的視圖控制器鏈,即使這些控制器中的一些由子視圖控制器呈現。我正在創建一個庫,而不是一個應用程序,所以我沒有創建我將與之交互的層次結構,我只是試圖確保我的庫在不同類型的層次結構內正常工作。)呈現/呈現視圖控制器和父/子視圖控制器之間的交互是否在任何地方記錄?
所以我的問題歸結爲,當有人試圖從子視圖控制器呈現視圖控制器會發生什麼?
[childViewController presentViewController:viewController animated:YES completion:nil];
由於呈現視圖控制器意,直到它被駁回「接管」互動,這將使意義,我認爲發言請求將期待它的父(或實際上,高達parentViewControllers鏈直到它到達沒有parentViewController的視圖控制器),然後從該視圖控制器中顯示。否則,看起來好像開發人員可以像兩個不同的孩子一樣執行現有的模式視圖控制器等等,這在我看來是有問題的。 (例如,哪個視圖控制器會優先?)。
此外,如果上述內容屬實,似乎會有一些暗示。如果父視圖控制器正在顯示一個呈現的視圖控制器,這會返回什麼?
[childViewController presentedViewController];
難道是nil
因爲父顯示呢?或者可以將此請求轉發給父母,以便parentViewController
及其任何childViewControllers
都具有相同的結果?
無論如何,我有一個示例項目準備開始運行一些場景,但我很好奇,如果有任何文檔我錯過了?或者如果有人已經知道這種交互發生的方式?
你和我的經驗是一樣的。感謝您的反饋。 – 2012-05-08 11:52:08