Question

Je veux cacher le reightnavigationbaritem lorsque mon ViewController se charge. Comment est-ce possible? J'ai essayé ce code mais cela ne fonctionne pas.

self.navigationItem.rightBarButtonItem = nil;
Était-ce utile?

La solution

Dans Xcode 4. L'utilisation ne fonctionnera pas;

self.navigationItem.leftBarButtonItem.enabled=NO;
self.navigationItem.leftBarButtonItem=nil;
self.navigationController.navigationBar.backItem.hidesBackButton=YES;
[self.navigationItem.leftBarButtonItem release];

Je suis vraiment intéressé pourquoi vous mentionnez le barbuttonitem droit? Lorsque vous naviguez, c'est le barbuttonitem gauche qui change.

Qu'est-ce qui fonctionne;

1) self.title =@""; Annuler le titre de l'écran, lorsque le contrôleur de navigation pousse une vue détaillée sur la pile, aucun bouton de retour n'est créé.

2) Remplacer le leftBarButtonItem Avec quelque chose d'autre change le bouton, mais ne résout pas votre problème.

3) une alternative. Cacher la barre de navigation; [self.navigationController setNavigationBarHidden:YES animated:YES];

Autres conseils

Salut il ne se cache pas mais le fait désactiver

 self.navigationItem.rightBarButtonItem.enabled = NO;

Mettez cette fonction dans toutes les classes -

  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    self.navigationItem.rightBarButtonItem = nil;
    }    return self;
}

Tout d'abord, vous ne devriez pas sous-classer UitabbarController comme indiqué assez clairement dans le Documentation. Il est mentionné très tôt dans l'aperçu.

En supposant que l'un des onglets pointe vers un UINavigationController. Vous devez vraiment accéder directement au contrôleur de vue et faire quelque chose comme viewController.navigationItem.rightBarButtonItem = nil;.

Vous devez définir le barbuttonitem de droite sur NIL avant d'insérer votre contrôleur dans une pile de navigation.

Masquer directement le bouton droit ne fonctionne pas ci-dessous est un astuce pour le faire.

Remarque: cette solution fonctionne pour iOS 7.x uniquement.

//To Hide 
self.navigationItem.rightBarButtonItem.enabled = NO;
self.navigationItem.rightBarButtonItem.title = @"";

//To Show
self.navigationItem.rightBarButtonItem.enabled = YES;
self.navigationItem.rightBarButtonItem.title = @"DONE";

Je pense que la meilleure façon est de cet exemple de code de ligne:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:nil style:UIBarButtonItemStylePlain target:nil action:nil];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top