如果拖動UIViewController
各地開始UINavigationController
內的互動彈出的過渡中,UIViewController
目前一個已經viewWillAppear:
稱爲下方,其次是UINavigationControllerDelegate
方法navigationController:willShowViewController:animated:
取消互動的UINavigationController流行手勢不叫UINavigationControllerDelegate方法
如果您取消了轉換,按預期在頂部視圖控制器上調用了viewWillAppear:
和viewDidAppear:
。
但是,根本不調用代表方法navigationController:willShowViewController:animated:
或navigationController:didShowViewController:animated:
。
考慮到調用UIViewController視圖生命週期方法,至少應該調用其中的一個或兩個。我想知道這是故意的還是UINavigationController
中的錯誤。
我真正需要的是能夠看到什麼時候取消了互動流行音樂,可以在我的UINavigationController
子類或UINavigationControllerDelegate
中找到。有沒有一個明顯的方法來做到這一點?
編輯
我還在尋找一個解決方案,這一點,但想提一提,我已經報告這個問題,因爲與蘋果的錯誤。查看文檔,這些委託方法不應該被調用,特別是考慮到被調用的等效視圖生命週期方法。
EDIT2
我的雷達票(16823313)被關閉今日(2015年5月21日),並標記爲意。 :(
工程已確定以下信息基於 按預期這個問題表現:
這實際上是正確的行爲的導航過渡 多數民衆贊成的B發生的一切 - > A,如果取消這中間的過渡,你 不會得到didShowViewController:此方法過渡 的取消不應該被認爲從A過渡 - > B,因爲 你從來沒有真正達到A.
視圖[威爾/難道]應用耳朵仍然應該如預期那樣。
這是一個令人沮喪的情況,因爲它是違反直覺的,但我的答案中的解決方法應該在可預見的將來適用,至少在我的用例中是這樣。
你有,我可以欺騙一個bug報告多少? –
你好。我的錯誤報告編號是'16823313'。他們試圖在去年六月份的第一個iOS 8測試版中將其標記爲固定,並且在確認它仍然被破壞後我打開了它。從那以後沒有活動。 – Dima