Navigation bar cachée dans UITableViewController
Bonjour
J'ai un petit soucis aujourd'hui avec une UITableViewController et une Navigation bar. Je m'explique :
J'ai une NavigationController (reliée à une TableViewController) et une ViewController (voir photo jointe). Dans ma TableViewController, j'ai une Navigation Bar avec un UIBarButtonItem "+". Lorsque je clique sur celui-ci, ma ViewController apparait. Celle-ci me permet d'ajouter un objet dans mon tableView.
Lorsque je clique sur le bouton "Ajouter", ma TableViewController apparait avec mon tableView mais ma Navigation bar n'est plus là ... (voir photo jointe) Alors qu'elle était présente au démarrage.
Tout est fait avec Storyboard pour l'interface et les liens des boutons "+" et "Ajouter" sont "modals".
Quelqu'un a-t-il une idée du problème ?
Merci ! /smile.png' class='bbc_emoticon' alt=':)' />
J'ai un petit soucis aujourd'hui avec une UITableViewController et une Navigation bar. Je m'explique :
J'ai une NavigationController (reliée à une TableViewController) et une ViewController (voir photo jointe). Dans ma TableViewController, j'ai une Navigation Bar avec un UIBarButtonItem "+". Lorsque je clique sur celui-ci, ma ViewController apparait. Celle-ci me permet d'ajouter un objet dans mon tableView.
Lorsque je clique sur le bouton "Ajouter", ma TableViewController apparait avec mon tableView mais ma Navigation bar n'est plus là ... (voir photo jointe) Alors qu'elle était présente au démarrage.
Tout est fait avec Storyboard pour l'interface et les liens des boutons "+" et "Ajouter" sont "modals".
Quelqu'un a-t-il une idée du problème ?
Merci ! /smile.png' class='bbc_emoticon' alt=':)' />
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[font=verdana, geneva, sans-serif]Tu n'utilises pas storyboard de la bonne manière ... le retour de ta vue "ajouté" a ta vue "liste" est géré [/font]
[font=verdana, geneva, sans-serif]par le storyboard "Done".[/font]
[font=verdana, geneva, sans-serif]A+,[/font]
Hein ? Quoi ? Storyboard "Done" ??
Comment c'est possible ça ? Tu peux m'expliquer comment tu fais ?
C'est à dire comme par magie ?
Bon...
Déjà , ta scene "Ajouter" contient un bouton Cancel qui est typiquement associé à une navigation bar. Ta scène "Ajouter" doit donc être embeded dans un navigation controller.
Ensuite, dans ta scene "Liste", ton segue devra désormais non pas pointer sur ta scene "Ajouter" mais directement sur le nouveau navigation controller qui lui est associé.
Enfin comme Storyboard ne fait pas tout (pas encore en tout cas, loin de là ), que ce soit pour ton Cancel ou pour ton bouton Ajouter tu dois leur associer des actions, lesquelles vont se terminer par un appel à ton delegate (ici il s'agit de ton controller qui correspond à ta scene Liste) qui fera le dismiss.
Y a un exemple très bien dans le doc Apple.
Si comme tu le dis tes segues en modal ton retour affichera une autre TableView modal ==> pas de navigation bar.
ton cancel doit être associé à une méthode de type :
– dismissViewControllerAnimated:completion:
Comme ça tu reviendras bien sur ta vu précédente.
J'ai déjà eu ce problème et c'est la seule solution que j'ai trouvé...
Merci ! /smile.png' class='bbc_emoticon' alt=':)' />
Je dirai que tu aurai dû commencer par la doc :-) Ce n'est jamais inutile de prendre le temps de fouiller dedans.
Les sessions vidéos Apple (wwdc) sur Storyboard sont aussi intéressantes.