我一直在努力解決這個問題一段時間,我注意到很多人通過閱讀這裏和其他論壇上的許多帖子來看到同樣的事情。就在今天早上,我意識到我做錯了什麼,我想分享它,以防萬一有人在將來絆倒它。viewWillAppear/viewWillDisappear not called ....我對此的回答
在我的實現中的問題是,在viewDidLoad的視圖控制器(VC1)我將其視圖屬性設置爲一個新的視圖控制器(VC2),迫使我相信框架退出VC1 viewDidLoad沒有達到其結束,因此不調用視圖控制器的結果委託函數:viewWillAppear,viewWillDisappear,viewWillAppear和viewWillDisappear!
所以我的解決方案是延遲創建和設置VC2的所有代碼,從viewDidAppear而不是viewDidLoad調用。如果你從viewWillAppear做到這一點,你將會遇到同樣的麻煩。
希望它可以幫助 AF
你正在設置UIViewController的視圖屬性到另一個UIViewController?那是不對的。視圖屬性應該代表一個UIViewController的視圖。 – vicvicvic 2010-12-17 12:03:02
爲什麼它錯了?我不想創建視圖控制器,然後添加一個新的視圖,我不會再使用它現有的視圖!這將浪費內存。所以我在運行時用另一個視圖重置它。 – Abolfoooud 2010-12-17 12:09:26
您確定您設置的延遲時間是否足夠,並且操作不會超過您設置的延遲時間? – EmptyStack 2010-12-17 12:13:56