“Unbalanced calls to begin/end appearance transitions” warning when push a view in a modal way in XCode 4 with Storyboard

After some research on the web without success, I come here to ask you the question about my warning.

Actually, I have a view V1 with a navigation controller and I want to push a modal view V2 when V1 has finished loading.
So I use the performSegueWithIdentifier method (I’m using storyboard).
Here is my code:

  • Sharing data/string with a singleton between views
  • How to display compiler output or custom build steps output when building with xcode?
  • prepareForSegue is not called after performSegue:withIdentifier: with popover style
  • dynamic uitableview cell height
  • XCode 4 if (self = ) issue
  • XCode 4 C++ header file with relative path to another header
  • [self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self];

    And when I compile, I got this warning:

    Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0x6849b30>

    Is anyone can help me ?

    Thanks a lot in advance !

    4 Solutions Collect From Internet About ““Unbalanced calls to begin/end appearance transitions” warning when push a view in a modal way in XCode 4 with Storyboard”

    It sounds like you may be performing the segue in -viewWillAppear: thus generating two -viewWillAppear: messages without 2 corresponding -viewDidAppear messages.

    Try performing the segue in -viewDidAppear.

    I had this problem, but what I had done is on a UIViewController I had linked a Segue from a UIButton and also coded it into a nextBtnPressed: function, so I was actually pushing two new UIViewControllers on the one button press. Limiting it to just the one segue fixed it. But it took some investigating to see that I had done this double up.

    ‘Unbalanced calls to begin/end appearance transitions for ‘

    Says an animation is started before the last related animation isnt done.
    So, are you popping any view controller before pushing the new one ?
    Or may be popping to root ? if yes try doing so without animation
    i.e. [self.navigationController popToRootViewControllerAnimated:NO];

    And see if this resolves the issue, In my case this did the trick.

    The reasons for this are manifold and are very specific to the context and the programming. For example, what I was doing was

    1. initialising a sound file, playing it (asynchronously) for 1.4 seconds,
    2. making an image move across the screen using animation timed to last 1.4 seconds and,
    3. with a timer set to 1.4 seconds after step 2, pushing a viewcontroller.

    What i discovered is that if I DO NOT have the instructions for these 3 steps one after the other (if I mix them up), then I get the error “Unbalanced calls…”. Also, if I time the push of the viewcontroller to less than 1.4 seconds, I get the message as well.

    So, check that the sequence and timing of your program instructions are correct.