2009-11-03 2 views
0

J'ai un petit problème avec l'animation UINavigationController entre deux vues. Mon application générer plus de deux vue, première vue contient des informations de connexion, deuxième vue contient le menu racine, la dernière vue contient des exemples de données et ainsi de suite .. Mon MainWindow.xib contient un composant UINavigationController qui contient toute la structure de navigation. Lorsque mon avis d'ouverture de session chargé, j'utiliser ces lignes de codeProblème d'animation UINavigationController

- (void)viewWillAppear:(BOOL)animated { 
[self.navigationController setNavigationBarHidden:YES animated:NO]; 

}

pour cacher UINavugationConttoller (je ne ai pas besoin de montrer à la barre de navigation de l'utilisateur lors de la connexion.) Après que lorsque le l'utilisateur exécute le bouton de soumission de connexion sur la vue de connexion J'utilise ce code pour pousser le RootmenuView vers la pile de UINavigationController.

RootMenuController *rootMenuController = [[RootMenuController alloc] initWithNibName:@"RootMenuController" bundle:0]; 
[self.navigationController pushViewController:rootMenuController animated:NO]; 
[rootMenuController release]; 

Cela fonctionne très bien. Et lorsque l'utilisateur chargé Rootmenuview doivent afficher la barre de navigation, puis je montre la barre d'outils de UINavigation avec ce code

- (void)viewDidAppear:(BOOL)animated { 
[self.navigationController setNavigationBarHidden:NO animated:YES]; 

}

Mais je n'aime pas les transitions d'animation par défaut de UINavigationController puis i changé au-dessus du code ci-dessous avec

[UIView beginAnimations:@"View Flip" context:nil]; 
[UIView setAnimationDuration:0.50]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 

[UIView setAnimationTransition: 
UIViewAnimationTransitionFlipFromRight 
         forView:self.navigationController.view cache:YES]; 
RootMenuController *rootMenuController = [[RootMenuController alloc] initWithNibName:@"RootMenuController" bundle:0]; 
[self.navigationController pushViewController:rootMenuController animated:NO]; 

[UIView commitAnimations]; 

[rootMenuController release]; 

Il travaille aussi, mais vacillante UINavigationController pendant entre deux vue transition naimation.

Je n'ai pas résolu ce problème.

Des suggestions?

Merci

Répondre

2

Avez-vous essayé [setAnimationTransition: forView: cache: NO]? J'ai eu un comportement bizarre semblable au vôtre quand j'avais l'habitude de jouer avec les animations UIView et utilisé la mise en cache.

+1

En cas de changement de cache: OUI à NON dans mon instruction de transitions, il ne scintille pas. Merci refulgentis – fyasar

Questions connexes