2009-07-10 7 views
0

J'ai le code suivant dans mon application pour afficher une vue modale:Bouton d'édition indésirable dans ma barre de navigation?

InfoTableViewController *infoTableViewController = [[[InfoTableViewController alloc] initWithNibName:nil bundle:nil] autorelease]; 
infoTableViewController.title = @"Pirateometer"; 
infoTableViewController.navigationItem.rightBarButtonItem = 
    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
     target:self action:@selector(dismissInfo)] autorelease]; 

navController = [[UINavigationController alloc] initWithRootViewController:infoTableViewController]; 
[self presentModalViewController:navController animated:YES]; 
[navController retain]; 

Cependant quand je lance, au lieu du bouton Fait à droite de ma barre de navigation I ont un bouton Modifier. Si je change .rightBarButton en .leftBarButton mon bouton Done apparaît sur la gauche comme prévu, mais le bouton Edit est de nouveau là sur la droite. Est-ce que je suis censé supprimer ce bouton Edit indésirable dans le code, ou est-ce que je fais quelque chose de mal qui le fait apparaître en premier lieu? Si je dois l'enlever, comment vais-je faire?

Répondre

3

Assurez-vous dans votre méthode -viewDidLoad d'InfoTableViewController que vous ne définissez pas le bon bouton sur le bouton d'édition.

Dans le code de sous-classe de sous-classe UITableViewController par défaut, il y a une ligne de commentaire qui le fait. Peut-être que vous l'avez accidentellement décommenté?

La définition dans -viewDidLoad s'exécutera après que vous l'ayez déjà définie dans votre code inclus, car la méthode ne s'exécute pas tant que viewController n'est pas chargé (c'est-à-dire lorsque vous le présentez modalement).

+0

Ah, c'était exactement le problème. Je ne peux pas croire que je n'ai pas vu ça! Merci beaucoup. –

Questions connexes