2012-03-08 74 views
6

我正在開發一個應用程序,在接收遠程或本地通知時將不同的viewcontrollers推入導航堆棧。在動畫ViewController轉換期間將ViewControllers推送到UINavigationController

問題出現在應用程序處於活動狀態並且動畫視圖控制器轉換之間出現通知時。這攪亂navigationcontroller和我收到以下錯誤信息:

嵌套彈出動畫可以導致損壞的導航欄整理 了意外狀態導航過渡。導航欄 子視圖樹可能會損壞。

是否有某種方法來檢查viewcontrollers是否正在改變,如果是這樣,等到轉換完成?或者有沒有解決這個問題的其他方法?

一如既往,任何幫助大大appriciated!

+1

你找到一個解決辦法?我有同樣的問題 - 我需要在推送通知到達時提供視圖控制器。我可以找到頂部/可見視圖控制器並將其呈現在其上,但是如果該視圖控制器恰好處於動畫過渡狀態,則該應用程序會崩潰,嘗試從開始模態轉換,而轉換已經在進行中。「沒有任何UIViewController屬性,如isBeingDismissed,因爲它們不返回值,除非在viewWillAppear中使用 – 2013-02-08 15:39:45

回答

4

有一些獲取viewController狀態的方法。如:(BOOL)isBeingPresented(BOOL)isViewLoaded。我會看看到apple doc's on ViewControllers.

UINavigationController的也有幾個方法也如:

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
相關問題