2010-02-16 9 views
13

Comment désactiver le bouton de retour dans un contrôleur de navigation? Lorsque je cache le bouton, self.navigationItem.hidesBackButton = TRUE la zone de bouton est encore tappable.Désactiver la barre de retour de la barre de navigation

+0

Cela ressemble à un bug. Déposer un rapport de bug! http://bugreport.apple.com –

+0

Je vais déposer cela. Je pensais que cela pourrait avoir quelque chose à voir avec le réglage à TRUE, mais la même chose s'est produite avec la configuration de YES. – Glenn

+0

TRUE et YES doivent être identiques :) '#define YES (BOOL) 1' ' #define NO (BOOL) 0' –

Répondre

30

Si vous n'avez pas besoin d'un bouton de retour et qu'une partie de l'existence de navigationBar est d'avoir un bouton de retour, vous pouvez simplement cacher le navBar. Je peux poster le code à cela si vous voulez que je le fasse dans quelques projets. Sinon, votre "bug" pourrait ne pas être un bug si vous l'appelez du mauvais endroit. Après avoir creusé j'ai réussi à trouver cela. Pour masquer l'utilisation du bouton retour:

self.navigationItem.hidesBackButton = YES; 

Pour masquer l'utilisation toute barre de navigation:

self.navigationController.navigationBarHidden = YES; 

Mais cela se produira sans animation, pour l'animer utiliser à la place:

[self.navigationController setNavigationBarHidden:YES animated:YES]; 

Cela fera une animation coulissante avec la vue de navigation. Vous devrez fournir d'autres moyens pour que la personne puisse revenir.

+0

Une bonne chose à propos de cacher le navBar est que, après avoir fini l'analyse, vous pouvez l'afficher avec animation et vous obtiendrez une belle animation coulissante du haut =) –