Der einfachste Weg, um mehrere Orientierungen zu unterstützen? Wie lade ich eine benutzerdefinierte NIB, wenn sich die Anwendung in Querformat befindet?

Ich habe eine Anwendung in die ich unterstützen möchte mehrere Ausrichtungen. Ich habe zwei .xib-Dateien, die ich verwenden möchte, myViewController.xib und myViewControllerLandscape.xib. myViewController.xib besteht in der Projekt - /Ressourcen-und myViewControllerLandscape.xib existiert im root-Verzeichnis der Projekte.

Was ich will zu tun ist, verwenden Sie eine separate Feder (myViewControllerLandscape.xib) für meine Drehungen. Ich versuche die Erkennung von Drehung in viewDidLoad like:

if((self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight))
 {
  NSLog(@"Landscape detected!");
  [self initWithNibName:@"myViewControllerLandscape" bundle:nil];

 }

Aber ich kann sehen, dass in der gdb ist, dass dieses nicht ausgeführt, wenn die app gestartet wird, ist das Gerät in der Landschaft. Die NSLog-Nachricht nicht ausgelöst. Warum ist das so? Was habe ich falsch gemacht?

Auch, wenn ich explizit setzen die initWithNibName Funktionsaufruf in der viewDidLoad Methode, die Feder wird nicht geladen, und weiter geht es mit der myViewController.xib - Datei. Was ist falsch an meinem Aufruf? Sollte ich angeben, ein Bündel?

Dank!

InformationsquelleAutor der Frage Peter Hajas | 2010-03-22

Schreibe einen Kommentar