J'ai un bug étrange dans mon code lorsque je travaille sur une application pour iPhone. Je crée un contrôleur de navigation et le place dans mon contrôleur de barre d'onglets et puis quand je passe de mon écran initial à un écran secondaire le bouton de retour sur l'écran secondaire pointe sur lui-même. Ainsi, lorsque vous appuyez sur le bouton, il se recharge tout seul et la prochaine fois qu'il est pressé, il revient au premier écran.Le bouton Précédent de uinavigationcontroller recharge l'écran actuellement chargé
UINavigationController *nav1 = [[UINavigationController alloc] init];
// create the initial views for each nav controller
SearchViewController *searchView = [[SearchViewController alloc] init];
searchView.title = @"Search";
//place all the viewcontrollers on the nav controllers ready to view
[nav1 pushViewController: searchView animated:NO];
//create tab bar out of above nav controllers
UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Search" image:[UIImage imageNamed:@"search.png"] tag:0];
nav1.tabBarItem = item;
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = [NSArray arrayWithObjects:nav1, nil];
//
[nav1 release];
code ci-dessus est en appdelegate pour la configuration initiale du dispositif de commande de navigation + onglet
SecondScreenViewController *sVC = [[SecondScreenViewController alloc] init];
sVC.title = @"Screen 2";
[self.navigationController pushViewController:sVC animated:YES];
[sVC release];
ci-dessus est le code dans le dispositif de commande d'affichage de recherche qui charge le second écran/viewcontroller au dispositif de commande de navigation. Mais le bouton de retour en haut de l'écran 2 a le mot écran 2 et quand je l'appuie une fois qu'il se recharge et ensuite le bouton de retour dit recherche (qui est le titre du premier écran). cette fois, le presser le ramène au premier écran. Im juste confondu pourquoi le bouton de retour affiche le propre nom de titre des contrôleurs de vue et recharge lui-même. Je n'ai tout autre code dans ces écrans vraiment, ils ne sont que des écrans vides avec des étiquettes affichant quel écran est là alors que j'apprendre à utiliser correctement
Comme quelqu'un de bien vouloir me fit remarquer dans l'une de mes questions, vous pouvez utiliser self.navigationController.viewControllers pour voir ce que vous avez fait sur votre pile de navigation. Peut-être qu'il y a quelque chose de louche ici. – Monolo
Bravo pour le pourboire. cela me montre que mon deuxième contrôleur de vue est en train d'être chargé deux fois. maintenant pour suivre cela – TiltedWindmill