Storyboard - Fragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Storyboard - Fragen

    Hallo,

    ich hätte mal ein paar Fragen zum Storyboard. Erstmal die Situation: Ich baue eine Finanz-App auf. Dabei gibt es im Groben zwei "Scenenfolgen" (basierend auf Tabbar, ich hab kein besseres Wort als Scenenfolge, ich hoffe, ihr wisst, was ich damit meine):
    Erste "Scenenfolge": User ist nicht eingeloggt, die Tabbar zeigt im ersten Item Text "Login" an, die anderen Items sind nicht anklickbar.
    Zweite "Scenenfolge": User ist eingeloggt, ihm stehen alle weiteren Operationen (Transaktionen, etc.) und somit alle Tabbar Items zur Verfügung.

    Nun hatte ich zwei Überlegungen, wie ich das angehen kann. Entweder es gibt zwei Storyboards, die jeweils eine Scenenfolge abhandeln oder es gibt ein Storyboard, welches kein initial Controller hat und beide Scenenfolgen beinhaltet. Bei beidem müsste ich dynamisch/programmatisch entscheiden, welches Storyboard respektive welche Scenenabfolge (mittels Initial Controller) ich benutze.
    Als erste Frage: Welche Methodik findet ihr besser? Ich tendiere zu zwei Storyboards..

    Zweite Frage: Wie kann ich z.B. in der AppDelegate das Storyboard setzen? In den Properties habe ich bereits den Main-Storyboard-Eintrag entfernt. Ich finde aber keine Möglichkeit programmatisch zu sagen, welches Storyboard er benutzen soll. Ein Code-Snippit wäre cool :)
    Dritte Frage: Kann man in einem Storyboard programmatisch den Initial Controller setzen? Auch hier wäre ein Code-Snippit, wie das geht, schön.

    Vielen Dank für alle hilfreichen Antworten im Voraus :)


    Grüße
    Fabi
  • dsTny schrieb:

    Als erste Frage: Welche Methodik findet ihr besser? Ich tendiere zu zwei Storyboards..

    Ein ganz normales Storyboard, dass Du über den Eintrag in der Info.plist lädtst. Dem App-Delegate gibst Du eine Methode, die die Tabbar-Items aktiviert bzw. deaktiviert und den Login-Controller zeigst Du modal über dem Tabbarcontroller an, wenn der Nutzer nicht angemeldet ist.

    dsTny schrieb:

    Wie kann ich z.B. in der AppDelegate das Storyboard setzen?

    Gar nicht. Du kannst einfach ein beliebiges Storyboard laden: developer.apple.com/library/io…toryboardWithName:bundle:

    Brauchst Du aber nicht.

    dsTny schrieb:

    Kann man in einem Storyboard programmatisch den Initial Controller setzen?

    Wozu brauchst Du das? Du kannst doch jeden beliebigen Viewcontroller laden: developer.apple.com/library/io…ControllerWithIdentifier:
    „Meine Komplikation hatte eine Komplikation.“
  • Hallo,

    vielen Dank für deine Antwort :)

    macmoonshine schrieb:

    dsTny schrieb:

    Als erste Frage: Welche Methodik findet ihr besser? Ich tendiere zu zwei Storyboards..

    Ein ganz normales Storyboard, dass Du über den Eintrag in der Info.plist lädtst. Dem App-Delegate gibst Du eine Methode, die die Tabbar-Items aktiviert bzw. deaktiviert und den Login-Controller zeigst Du modal über dem Tabbarcontroller an, wenn der Nutzer nicht angemeldet ist.

    Könntest du das "modal anzeigen" nochmal etwas näher erläutern, bitte?

    macmoonshine schrieb:

    dsTny schrieb:

    Wie kann ich z.B. in der AppDelegate das Storyboard setzen?

    Gar nicht. Du kannst einfach ein beliebiges Storyboard laden: developer.apple.com/library/io…toryboardWithName:bundle:

    Brauchst Du aber nicht.

    Und wie kann ich das Storyboard dann zur Anzeige bringen?

    macmoonshine schrieb:

    dsTny schrieb:

    Kann man in einem Storyboard programmatisch den Initial Controller setzen?

    Wozu brauchst Du das? Du kannst doch jeden beliebigen Viewcontroller laden: developer.apple.com/library/io…ControllerWithIdentifier:

    Na ja, ich hatte ja auch die Idee, quasi beide storys auf ein Storyboards "aufzuzeichnen" und dann je nach Situation des Users (eingeloggt oder nicht), den initial controller auf den ersten ViewController des "nicht-eingeloggt-story" bzw. dem "eingeloggt-story" zu setzen...

    Wäre schön, wenn du das noch beantworten könntest :)


    Grüße
    Fabi
  • dsTny schrieb:

    Könntest du das "modal anzeigen" nochmal etwas näher erläutern, bitte?

    developer.apple.com/library/io…lViewController:animated:

    dsTny schrieb:

    Und wie kann ich das Storyboard dann zur Anzeige bringen?

    Gar nicht. Das geht nicht.

    dsTny schrieb:

    Na ja, ich hatte ja auch die Idee, quasi beide storys auf ein Storyboards "aufzuzeichnen" und dann je nach Situation des Users (eingeloggt oder nicht), den initial controller auf den ersten ViewController des "nicht-eingeloggt-story" bzw. dem "eingeloggt-story" zu setzen...

    Warum so kompliziert? Ein Storyboard, ein Tabbarcontroller und jeweils ein weiterer Controller von jeder Art. Mehr brauchst Du nicht.
    „Meine Komplikation hatte eine Komplikation.“
  • Hallo,

    danke nochmals für deine Antwort :)

    macmoonshine schrieb:

    dsTny schrieb:

    Könntest du das "modal anzeigen" nochmal etwas näher erläutern, bitte?

    developer.apple.com/library/io…lViewController:animated:

    Danke! Ich denke, dass ich in der Klasse des Controllers einfach Abfragen soll, ob eingeloggt oder nicht -> Wenn nicht eingeloggt, zeige ich modal das Login-Formular an?!?

    macmoonshine schrieb:

    dsTny schrieb:

    Und wie kann ich das Storyboard dann zur Anzeige bringen?

    Gar nicht. Das geht nicht.

    Schade, dass man nicht dynamisch ein Storyboard anzeigen kann. So kann man leider auch nicht mehr als ein Storyboard benutzen.

    macmoonshine schrieb:

    dsTny schrieb:

    Na ja, ich hatte ja auch die Idee, quasi beide storys auf ein Storyboards "aufzuzeichnen" und dann je nach Situation des Users (eingeloggt oder nicht), den initial controller auf den ersten ViewController des "nicht-eingeloggt-story" bzw. dem "eingeloggt-story" zu setzen...

    Warum so kompliziert? Ein Storyboard, ein Tabbarcontroller und jeweils ein weiterer Controller von jeder Art. Mehr brauchst Du nicht.

    Diese vorgeschlagene Variante werde ich dann wohl nehmen.

    Schade, ich dachte, man könnte mehr als ein Storyboard benutzen.

    Danke nochmals für deine Antwort :)


    Grüße
    Fabian

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von dsTny ()

  • dsTny schrieb:

    Wenn nicht eingeloggt, zeige ich modal das Login-Formular an?!?

    Ja

    dsTny schrieb:

    Schade, dass man nicht dynamisch ein Storyboard anzeigen kann. So kann man leider auch nicht mehr als ein Storyboard benutzen.

    Kann man schon. Deine Vorstellungen von dynamisch sind aber ehrlich gesagt etwas krude und Dein Ansatz ist unnötig kompliziert.

    dsTny schrieb:

    Schade, ich dachte, man könnte mehr als ein Storyboard benutzen.

    Kann man schon und ich habe Dir auch bereits eine Methode genannt, wie Du es laden kannst. Das eine App für einen Gerätetyp mehr als ein Storyboard - abgesehen von Lokalisierungen - braucht, ist extrem selten.
    „Meine Komplikation hatte eine Komplikation.“