Die Auswahl verschiedener storyboards basierend auf Gerätetyp

Ich habe eine universal-app, in denen ich bin laden meine Haupt-storyboard manuell in application:didFinishLaunchingWithOptions.

Ich habe 2 storyboards für iPhone und iPad, die die ~iPhone und ~iPad Suffixe. Ich bin laden meine storyboard mit:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
self.initialViewController = [storyboard instantiateInitialViewController];

Diese Drucke Unknown class ViewController in Interface Builder file. auf der Konsole, also scheinbar ist es nicht das laden der richtigen storyboard. Allerdings, wenn ich [UIStoryboard storyboardWithName:@"MainStoryboard~iPhone" bundle:nil]; es funktioniert gut, aber natürlich wird die Arbeit nur für das iPhone.

Was bin ich? Wie kann ich mit dem Namen Suffixe wählen automatisch die richtige storyboard?

  • warum gehst du nicht zu Projekt-Einstellungen iphone-storyboard in das iphone deployment info-und ipad-storyboard in das ipad deployment info. verwenden Sie mehr als ein storyboard pro Gerät? ich meine, was ist Ihr Zweck in manuell laden des storyboards?
  • Was ich versuche zu tun ist, um eine IIViewDeckController als root-Ansicht-controller, so laden Sie das storyboard automatisch hilft nicht.
  • Dies scheint ein bug in einigen Versionen (es ist gebrochen in iOS 6.1.2 für mich, aber es war die Arbeit früher auf dem gleichen Projekt). Laut Apple docs, die ~iphone suffix ist universell, betreffen alle Ihre Ressource laden (Bilder, NIB-Dateien - in meiner bisherigen Erfahrung alles). Es scheint Storyboards sind kaputt und irgendwie überspringen Sie die Auswahl.
Schreibe einen Kommentar