2012-07-10 37 views
-1

我有2個視圖控制器說VC-1,VC-2。我通過導航堆棧在VC-1上顯示VC-2。 VC-1有textView,VC-2有webView。現在我需要在VC-2彈出後立即更新VC-1的內容。因此,我使用VC-2的viewDidDisappear方法來設置內容並使用VC-1的viewWillAppear中的內容來更新textView(VC-1的內容)。但是在viewDidDisappear完成自己的view之前,VC-1的執行會被執行並且內容不會被更新。我已經通過NSLogging檢查了這一點。 viewDidDisappear有一些文件閱讀的東西,所以我想這是造成這個問題。在DidDisappear(VC-2)完成後,我怎樣才能讓WillAppear(VC-1)被調用?viewWill在調用viewDid之前調用另一個控制器的消除

回答

5

-viewWillAppear:在您的視圖出現在屏幕上之前調用。在您的視圖完全從屏幕上消失後調用-viewDidDisappear:。因此,對於任何類型的動畫過渡,例如導航堆棧彈出/推送,在調用離開的VC的-viewDidDisappear:之前必須調用傳入的VC的-viewWillAppear:。這是完全正確的。

你應該把你正在做的工作放在-viewDidDisappear:中,然後把它移到-viewWillDisappear:

+0

非常感謝!我把我的頭髮拉出來試圖修復它。感謝有關方法的信息,我不知道。說真的,你救了我的命。 :) – gamersoul 2012-07-10 05:01:56

相關問題