2010-03-21 6 views
6

J'ai un scénario où mon UINavigationController manque le bouton de retour (bouton gauche), mais en appuyant sur le bouton gauche semble toujours fonctionner.UINavigationController Retour Bouton pas visible, mais fonctionne

J'ai trouvé un problème similaire posté ici: UINavigationController's back button disappears? qui a été résolu en ne définissant pas le titre à @ "", mais ce n'est pas mon problème. Y a-t-il d'autres scénarios qui pourraient causer ce comportement?

MISE À JOUR:

Dans le cas où il importe ici est ma vue hiérarchique: Mon MainWindow contient une UINavigationView qui charge tout d'abord un UIViewController (ce point de vue contient une carte). Lorsque vous tapez sur un bouton d'accessoire d'annotation, il charge un UITableViewController. C'est cette vue qui devrait avoir le bouton de retour.

Merci.

+0

Peut-être que la propriété 'hidden' du bouton de retour est définie sur' NO' ?? –

+0

lui donner un nom réel à la place: @ "Mon VC" pour tester à coup sûr. Aussi c'est le VC précédent pas le nouveau auquel vous devez donner un titre (juste au cas où) –

+0

Jacob - Je ne pense pas que ce soit ça. J'ai cherché mon code et je ne fais aucune référence au bouton gauche, sans parler de la propriété cachée. Corey - Bonne idée. J'ai essayé cela, des deux endroits, et mes mises à jour de titre comme prévu, mais toujours pas de chance avec le bouton. Je mettrai à jour mes questions d'origine avec ma hiérarchie de vue au cas où cela ferait une différence. – cagreen

Répondre

13

Oh Man! Ok, j'ai trouvé la réponse ici: http://www.iphonedevsdk.com/forum/iphone-sdk-development/35633-back-button-missing-navigation-bar.html

Il se trouve que ma première vue (celui avec la carte sur elle) n'a pas un ensemble de titre (en fait, je cache la barre de navigation parce que je ne l'ai pas vouloir le montrer). Même si le titre a été réglé sur une vue ultérieure, le SDK ne semble pas s'en soucier. Je ne comprends toujours pas 100% pourquoi je pourrais puiser dans la région pour le faire fonctionner. Donc, même si je cache la première barre de navigation, je dois encore définir le titre de celle-ci.

C'est fait!

Merci à tous ceux qui ont essayé d'aider.

+0

Merci pour cela - J'ai un contrôle segmenté au lieu d'un titre et encore j'ai dû définir le titre de la vue afin de voir le bouton de retour sur la vue suivante. Nevermind personne ne peut voir le titre derrière le contrôle segmenté. – dchakarov

+0

Le titre manquant est le coupable. Par exemple, dans viewDidLoad, ajoutez simplement \t self.title = @ "Home"; et le bouton apparaîtra. –

0

Vous substituez l'élément du bouton de retour - pas le même que le bouton de gauche - n'importe où dans votre code? i.e. .:

self.navigationItem.backBarButtonItem = ... 

Êtes-vous le réglage de la propriété partout hidesBackButton? i.e .:

self.navigationItem.hidesBackButton = YES; 
+0

Je ne le fais pas non plus dans mon code. Je ne vois rien dans IB qui ait l'air suspect non plus (bien que je puisse le négliger). À mon avis les leftBarButton et backBarButton sont tous les deux nuls. Au début de mon projet, j'ai créé par programmation un autre bouton gauche, mais je l'ai depuis supprimé et toute référence à celui-ci. Est-ce qu'il pourrait encore y avoir un artefact que je ne peux pas voir? – cagreen

Questions connexes