Affichage du bouton précédent
Salut à tous,
J'ai un problème je n'arrive pas à afficher mon bouton précédent (de type bouton système, qui reviens sur la vue précédente) dans la barre de menu (qui est pourtant elle bien affichée).
J'ai essayé les choses suivantes sans résultats
self.navigationItem.backBarButtonItem.enabled=YES;
self.navigationItem.hidesBackButton = NO;
Est ce que c'est une propriété qu'il faut régler dans le storyboard ou bien est-ce une autre ligne de code ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Quand tu dis barre de menu c'est bien la navigationBar de ton navigationController?
Tout à fait
Normalement le bouton apparait tout seul quand tu fais ton push? As tu custom ta navigationController? Tu fais le push a partir du storyboard?
Oui c'est bien ça que je ne comprends pas ça doit apparaitre tout seul logiquement.
Non j'ai pas personnalisé mon Navigation Controller.
Pour les liaisons, j'ai une modal entrant dans la NavController et une liaison sortante, mais je ne sais de quel type elle est (c'est la liaison de base qui relie une NavController à la vue qui l'utilise, cf plus bas l'icône qui la représente)
Je viens de relire ta question - tu disait que c'est une présentation modal ? Du coup, il n'y aura pas de bouton précédent.
Oui il présente la navigation controller dans une modal. ça pourquoi pas par contre l'icone que tu affiche c'est pour la rootviewcontroller donc pas de bouton back si tu cherches a afficher le bouton back sur ta navigation controller pour dismiss la modal ça ne se fera pas nativement.
Bonjour, ma vue n'est pas la 1ère, mais la 2nde et justement j'aimerais revenir à la 1ère avec le bouton "retour".
Il ne faut donc pas la mettre en modal mais en push la liaison ?
Je cherche vraiment un moyen d'avoir "retour" de la façon la plus simple possible et sans que ce soit un truc personnalisé.
Voila ci dessous comment se présente mon storyboard
Heu non, un modal sans navigation Controller ne m'affiche même pas la navigationBar
Tu mets une relation push oui pour avoir le navigation bar avec le bouton retour. Si tu décides de faire une vue modal, alors tu peux simuler un navigation bar en l'incorporant toi même dans ton viewController et ajouter directement un bar button item dessus qui aura pour rôle de faire un retour à l'aide de la méthode appropriée [self dismissviewController:completion]. Quelque chose comme ceci.
Je viens d'essayer avec la relation push et il aime pas vraiment ça
Et ça me le met que je relie la segue au Navigation Controller ou que je le relie directement au 2nd controller
Non dans les 2 cas elle a le même nom
Solution simple - storyboard ci-joint
Code :
Bon dans ton archi tu as
[Controller 1] -> (action modal) -> [NavigationController] -> (Action rootviewcontroller)-> [Controller 2]
Je vois pas en quoi ton Controller 2 n'est pas le premier controller de ton Navigation controller donc le bouton n'est pas présent ce qui est logique.
Du coup il faut que créer un bouton retour toi même tu as le choix soit tu le fait dans un toolbarcontroller soit dans une view custom soit tu l'ajoute directement dans ton controller sans faire de barre ça c'est ton choix.
Par contre je ne vois pas du tout l'utilité de la NavigationController ici c'est un peu gros d'ajouter tout un système de Navigation juste pour designer une barre et un bouton...
C'est pour cette raison que j'ai ajouté, dans ma solution, un UINavigationBar dans la deuxième vue
Pour faire simple, imaginons que l'utilisateur ai cliqué malencontreusement et se retrouve sur le formulaire de demande de nouveau mot de passe.
J'aimerais qu'il est la possibilité de revenir en arrière, c'est aussi simple que ça.
Et je veut que ça soit fait de la manière la plus simple possible, quitte à me passer de Navigation Controller
Mais le UINavigationController n'est pas nécessaire ; regardes ma solution.