Unbalanced calls to begin/end appearance transitions for <FirstViewController: 0x2a2c00> Unbalanced calls to begin/end appearance transitions for <FirstViewController: 0x2a2c00> ios ios

Unbalanced calls to begin/end appearance transitions for <FirstViewController: 0x2a2c00>


In my case, this error occurs when you click two tabs in a tableview very fast.

The result causes wrong titlename, back button disappear. Someone mentioned that when you push a view, set animated:NO. The error will disappear but still causes some strange behavior. It pushes two views, then you need to back twice to get back the tableview screen.

Method I tried in order to resolve this problem:

add BOOL cellSelected;

in viewWillAppear cellSelected = YES;

in didselectcell delegate if (cellSelected){cellSelected = NO; do action ; }

This helps prevent clicking two different cells very fast.


In my case it happened when I triggered [self performSegueWithIdentifier:@"SomeIdentifier" sender:self]; within a UINavigationController item's viewDidLoad method.

Moving it into the viewDidAppear method solved the problem.

The reason very likely is that in viewDidLoad not all of the fancy animations have already been finished, whereas in viewDidAppear everything's done.


I have this problem too. I found two solutions to this problem:

  1. You can see this solution above.
  2. I found subclass from UINavigationController where this problem resolved. Buffered Navigation Controller