1. 程式人生 > >nested push animation can result in corrupted navigation bar問題解決

nested push animation can result in corrupted navigation bar問題解決

當接受到推送通知時,需要要求跳轉到指定的頁面。我們登入成功後只有一個viewcontroller,並且為導航檢視。所以可以,使用 popToRootViewControllerAnimated 先跳轉到根檢視,然後在從根檢視push到其他檢視。

這個理論上是沒有問題。但是在實際操作中,頁面在跳轉到你理想的介面以後,你再使用 

[self.navigationController popViewControllerAnimated:YES];

的時候會出現多出一個navigation bar,但這個bar並不是你想要的那樣。是平白無故多出一個,但是在你列印堆疊的時候你發現堆疊中進出棧並沒有錯。還有一種情況,那就是
控制檯打印出如下的錯誤資訊:
nested push animation can result in corrupted navigation bar

Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.

Unbalanced calls to begin/end appearance transitions for .

導致這兩種情況的原因那就可能是因為,pop和push的操作太連貫,會造成navgation的動畫還沒執行完畢,就開始執行下一個了。

解決方案:

[self.navigationController popToRootViewControllerAnimated:YES]; // 這句話的YES,改為NO
轉自:http://blog.sina.com.cn/s/blog_9d4a523e0101a0ko.html。