2010-11-04 36 views
0

J'ai une vue racine et plusieurs vues enfants. Pour chaque vue, j'ai un bouton d'information qui fait basculer la vue pour révéler un écran d'informations. Mon problème est que lorsque je reviens en arrière, en utilisant le bouton de retour, cela ne me mène pas à l'écran que j'avais laissé - cela me ramène à la vue racine. C'était bien avant que je passe par tout le travail d'ajouter le flip au lieu de la poussée habituelle!Le bouton Précédent permet d'accéder à la vue racine depuis que j'ai ajouté un clapet

dans un viewController (je vais l'appeler detailViewController) qui est de 3 pages dans la hiérarchie:

- (void)infoAction { 
infoViewController *controller = [[[infoViewController alloc] init] autorelease]; 
[self.navigationController pushViewController:controller animated:NO]; 
} 

Dans ce infoViewController:

-(void)viewWillAppear:(BOOL)animated{ 
[super viewWillAppear:animated]; 
[UIView beginAnimations:@"animation" context:nil]; 
[UIView setAnimationDuration:0.8]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 
} 
-(void) viewWillDisappear: (BOOL) animated{ 
[super viewWillDisappear:animated]; 
[self.navigationController popViewControllerAnimated:YES]; 
[UIView beginAnimations:@"animation" context:nil]; 
[UIView setAnimationDuration:0.8]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 
} 

Il est de retour ne me feuillette à la "detailViewController". Cela me ramène à la première vue de l'écran d'ouverture. En passant, dans la barre de navigation de l'écran d'information, le bouton arrière est correctement étiqueté avec le titre detailViewController, pas le titre de la vue racine, même si tapant ce bouton ne vous mène pas là où il le dit! S'il vous plaît aider ... Merci!

Répondre

0

J'ai dû supprimer la ligne: '[self.navigationController popViewControllerAnimated: YES];'. Malheureusement, je ne comprends pas exactement pourquoi, mais je suis content qu'il fonctionne maintenant correctement!