Où forcer le backBarButtonItem title ?
Je n'arrive pas à changer le titre de mes backBarButtonItem qui prennent par défaut la valeur du titre de la vue précédente.
Or dans la doc Apple :
J'ai essayé de changer avec :
dans viewDidLoad sans succès. Idem dans le contrôleur précédent avec de pusher.
Pas de résultat également en essayant de réécrire tout le backBarButtonItem... dans viewDidLoad.
Alors dans quelle méthode ?
Or dans la doc Apple :
Set the backBarButtonItem <br />property of the next view controller's navigationItem property to specify analternate title or button.
J'ai essayé de changer avec :
self.navigationItem.backBarButtonItem.title = @"Sujets";
dans viewDidLoad sans succès. Idem dans le contrôleur précédent avec de pusher.
Pas de résultat également en essayant de réécrire tout le backBarButtonItem... dans viewDidLoad.
Alors dans quelle méthode ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Use the initWithTitle: method to create a navigation item specifying the item's title. The item cannot be represented on the navigation bar without a title. Use the backBarButtonItem property if you want to use a different title when this item is the back item.
En créant l'item entièrement dans le code ?
Et non justement ! C'est ce que je faisais en premier. En tout cas ça ne marche pas dans le viewDidLoad.
Oui c'est un peu déroutant, mais c'est bien dans le VC parent qu'il faut créer ton backButtonItem, avant de pusher ton nouveau VC qui va avoir ledit bouton en haut à gauche.
C'est dingue.
Le self.navigationItem.backBarButtonItem = backButtonItem; est celui de la vue suivante dans la vue précédente.
Merci, je devenais fou parce qu'en effet ils étaient tous décalés d'une vue.
(en définissant un selector)
Oui mais on perd la forme de retour du bouton backBarButtonItem.
Finalement, c'est complètement logique que le backBarButton appartienne au VC parent.
D'accord sur ce point.
Là moins, je vois pas pourquoi le bouton en lui-même physiquement parlant n'appartiendrait pas à la vue en cours, celle qu'on regarde et qu'on affiche, même s'il pointe vers l'action de la vue parente qui fait le boulot et release la vue en cours.
Physiquement, le même emplacement peut-être occupé par deux boutons distincts. Et la "logique" qui a été choisie ici est la fonctionnalité du bouton plutôt que la logique visuelle ... C'est un peu comme une entreprise mère qui délèguerait un responsable dans une entreprise fille ... c'est ce que je mets dans l'expression "logique".
Je viens de faire le test. Le leftbarButtonItem prend le dessus, ce qui est logique puisqu'au final, lui il est appelé dans la bonne vue et doit écraser l'autre puisqu'il est aussi créé après.