iOS: popViewController unexpected behavior iOS: popViewController unexpected behavior xcode xcode

iOS: popViewController unexpected behavior


I came across a similar situation in my code and the message said:

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.

My finding to this issue was that I was pushing 2 view controllers one after the other in quick succession and both were animated.

In your case it seems that you might be popping multiple view controllers with animation one after the other.

Hence, while one view is undergoing animation you should not start animation on another view.

I also found that if I disabled animation on one view, the error message disappeared.

In my case it was a problem with the flow logic as I did not intend to push 2 view controllers one after the other. One was being pushed within the switch case logic and another after its end.

Hope this helps someone.


You can get this anytime that you try to pop before viewDidAppear. If you set a flag, then just check that flag in viewDidAppear, you wont have a problem.


I have created a drop-in replacement for UINavigationController that will queue animations for you and avoid this problem entirely.

Grab it from BufferedNavigationController