viewWillAppear chamado duas vezes com animação de envio personalizado usando transitionFromView

Eu estou olhando para executar um segue para substituir o controlador de visão de raiz da janela por outro controlador de exibição usando uma animação enrolar. A ideia é que eu tenho umSplashViewController sendo exibido por alguns segundos antes da transição (performSegueWithIdentifier:) para o próximo,LoginViewController, usando a animação de enrolar.

Eu criei um costumeUIStoryboardSegue classe chamadaAnimatedSegue. Aqui está o código do substituídoperform método:

- (void)perform
{
  UIViewController *source = self.sourceViewController;
  UIViewController *destination = self.destinationViewController;

  UIWindow *window = source.view.window;

  [UIView transitionFromView:source.view
                      toView:destination.view
                    duration:1.0
                     options:UIViewAnimationOptionTransitionCurlUp
                  completion:^(BOOL finished) {
                    [window setRootViewController:destination];
                  }];
}

Ele funciona bem, exceto que no iOS 6 (aparentemente não no iOS 5) oviewWillAppear: método está sendo chamado duas vezes nodestination ver controlador. Parece que é chamado pela primeira vez durante a transição e pela segunda vez quando executa[window setRootViewController:destination];

Note que não quero usar um controlador de navegação. oSplashViewController é desalocada (como esperado) assim que a transição terminar.

Alguma idéia de como consertar meu problema?

questionAnswers(3)

yourAnswerToTheQuestion