StoryBoard et UITabBar

LarmeLarme Membre
novembre 2012 modifié dans API UIKit #1
Salut tout le monde.



Je me lance à  la conception d'applications avec le StoryBoard, car celle-ci va demander pas mal de vues, du coup, autant me faciliter un peu la tâche, non ?



Bon, j'ai regardé la vidéo de la WWDC 2011dessus " Session 309 - Introducing Interface Builder Storyboarding.

Je pense avoir compris comment cela fonctionne (un peu près, faut bien que je bidouille de mon côté après pour vraiment comprendre).

Mais je suis confronté à  un petit soucis, sans quoi je ne posterais pas ici, vous vous en doutez bien.



Donc, mon UI dans IB est en pièce-jointe.

Je vais donc commenter un peu...

Le premier est la NavigationBar (que j'ai embed), qui elle s'affiche correctement.

Le deuxième un premier écran, qui ne doit pas avoir de UITabBar.

Donc, à  partir du troisième écran, je veux un UITabBar sur mes vues.

Je fais donc de même (embed du tabbar).

Mais celui-ci ne s'affiche pas lorsque je lance mon application. Ce qui est légèrement embêtant.

Bon, comme c'est le StoryBoard et que je débute, je ne sais pas vraiment que vous montrer au niveau du code. Mais si y'a besoin, n'hésitez pas à  me demander.



Sinon, c'est comme ça que je l'ai pensé. Si vous pensez qu'il est mieux d'avoir le UITabBar dès la première vue mais qu'il faudrait le cacher, en bref, un problème de conception ou autre, n'hésitez pas à  donner votre point de vue dessus.
Mots clés:

Réponses

  • J'avance, j'avance.

    Si je sélectionne mon Tab Bar controller dans le StoryBoard et que les Attributs de l'Inspecteur je coche Initial Scene " is Initial View Controller, il me l'affiche. Sauf que vous vous en doutez, mon application commence sur cette vue du coup. D'ailleurs, mes segues suivants ne fonctionnent plus.
  • J'aurai bien voulu t'aider mais j'avoue n'avoir pas bien compris ce que tu souhaitais faire... j'ai pas encore pris l'apéro pourtant.

    Tu veux utiliser un tab bar controller à  un moment donné dans ton storyboard et ce tab bar n'est pas la vue initiale de ta scene ? C'est ça ?
  • Oui c'est ça.

    J'ai une NavigationBar tout le temps visible.

    J'ai une TabBar, mais j'aimerais qu'elle débute à  être visible (jusqu'à  la fin) qu'à  partir de certaines vues (en bref, au départ, ce sont les conditions d'utilisations, du blabla de première ouverture).
  • Ok. Donc ton storyboard contient un navigation controller lequel est initial view.

    Si à  un moment donné dans ta navigation tu dois tomber sur un tab bar controller il te faut un segue qui débute d'un élément de ton navigation controller et se termine directement sur ton tab bar controller.



    J'ai testé sur un ensemble très simple avec une navigation bar en initiale view controller, qui contient une table view. Lorsque je touche un élément de cette table view j'affiche une vue détail "embeded" dans un tab bar. À priori ça fonctionne donc.
  • LarmeLarme Membre
    novembre 2012 modifié #6
    Merci beaucoup !

    Je viens de comprendre l'astuce grâce à  toi.

    Pour simplifier (car j'avoue avoir dû relire 2-3 fois ta réponse) :



    NavigationBar dès le départ, TabBar à  partir de la vue n+1

    EmbedNavigationBar -> Vue 1 -> ... -> Vue n -> EmbedTabBar ->Vue n+1



    Ce que je faisais :



    EmbedNavigationBar -> Vue 1 -> ... -> Vue n ->Vue n+1

    et en parrallèle EmbedTabBar ->Vue n+1





    C'est une autre approche donc. Dans mon idée de compréhension première, la Vue n+1 " héritait " de la TabBar, mais non, pas du tout.
  • AliGatorAliGator Membre, Modérateur
    'Kubernan' a écrit:


    j'avoue n'avoir pas bien compris ce que tu souhaitais faire... j'ai pas encore pris l'apéro pourtant.
    C'est peut-être justement pour ça que t'as pas compris image/biggrin.png' class='bbc_emoticon' alt=':D' /> image/eddy58.gif' class='bbc_emoticon' alt=' :p ' />
  • 'AliGator' a écrit:


    C'est peut-être justement pour ça que t'as pas compris image/biggrin.png' class='bbc_emoticon' alt=':D' /> image/eddy58.gif' class='bbc_emoticon' alt=' :p ' />




    À la tienne ! J'ai posté ma dernière réponse après l'apéro, ça va tout de suite mieux image/cliccool.gif' class='bbc_emoticon' alt=' :p ' />
Connectez-vous ou Inscrivez-vous pour répondre.