Storyboard zur Laufzeit wechseln

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

  • Storyboard zur Laufzeit wechseln

    Hallo Leute,
    ich baue gerade an einer App wenn auf einen Button klickt soll sich das Design verändern beziehungsweise das Storyboard.
    Also für die ganze App soll sich das Design verändern deswegen ein zweites Storyboard.
    Wie kann ich das am besten machen ?
    Leider ist das Property read only.

    ich glaube mann kann das Storyboard zur Laufzeit nicht wechseln

    Ich bedanke mich schon in einmal im voraus für die Hilfe.
  • Ok also so ungefär.

    Quellcode

    1. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
    2. UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:storyboardId];
    3. self.window.rootViewController = initViewController;
    ?
  • ok ich habe jetzt diesen code in meiner button action

    Quellcode

    1. LCAppDelegate *appDelegate = (LCAppDelegate*) [[UIApplication sharedApplication] delegate];
    2. UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
    3. UIViewController *initViewController = [storyboard instantiateInitialViewController];
    4. appDelegate.window.rootViewController = initViewController;


    geht leider nicht hätte mich sogar gewundert wenn so einfach wäre.
    ich will nicht beim start der app das storyborad wechseln.
  • Du musst jeden aktiven Viewcontroller neu aufbauen. Wenn beispielsweise eine App mit Navigationstack hast, musst Du den Navigationcontroller und alle Viewcontroller aus dem Storyboard neu laden. Außerdem musst Du bei den neuen Viewcontrollern alle Propertys, Views usw. genau so konfigurieren (setzen), wie bei dem ursprünglichen Viewcontrollern.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Du musst jeden aktiven Viewcontroller neu aufbauen. Wenn beispielsweise eine App mit Navigationstack hast, musst Du den Navigationcontroller und alle Viewcontroller aus dem Storyboard neu laden. Außerdem musst Du bei den neuen Viewcontrollern alle Propertys, Views usw. genau so konfigurieren (setzen), wie bei dem ursprünglichen Viewcontrollern.


    Was das BEnutzen von zwei verschiedenen Storyboards doch dann ad absurdum führt. Dann kann ich doch auch gleich alle ViewController in ein SB packen und immer den benötigten auswählen.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Das ist natürlich auch möglich. Allerdings hat die Trennung auch Vorteile, wie einheitlicher Zugriff auf den initialialen Viewcontroller und schmalere Storyboards. Ich würde den Lösungsweg nicht unbedingt als absurd bezeichnen. Allerdings frage ich mich, ob sich der Aufwand dafür lohnt.
    „Meine Komplikation hatte eine Komplikation.“