Frage

Wenn ein Blick auf das Fenster hinzugefügt wird, die Orientierung wird als Portrait, selbst wenn das Gerät im Querformat ist. Wenn die Ansicht in der AppDelegate hinzugefügt wird, Anwendung: didFinishLaunchingWithOptions: Methode, dann funktioniert es richtig. Wenn aber die Ansicht hinzugefügt wird später nicht.

Als Beispiel habe ich eine Routine Ansichten zu wechseln. Einfachste Form ist:

- (void)switchToNewViewController:(UIViewController *)newViewController { 
 if ([[window subviews]count]!=0) {
  [[[window subviews]objectAtIndex:0] removeFromSuperview];
 }
 [window addSubview:newViewController.view];
}

Wenn diese von innen didFinishLaunching genannt wird, ist die Orientierung korrekt. Wenn dies nicht der Fall, Orientierung Porträt.

einfachste Fall ist innerhalb didFinishLaunching Ich habe die folgenden zwei Zeilen

// The following line works
[self switchToNewViewController:fullScreenViewController];

// The following line which delays the method call until later results
// in incorrect orientation 
[self performSelector:@selector(switchToNewViewController:) withObject:fullScreenViewController afterDelay:0.1];

Gibt es eine Möglichkeit die Ansicht zu machen, die richtige Orientierung hat?

War es hilfreich?

Lösung

Stellen Sie sicher, dass Ihre ShouldAutorotateToInterfaceOrientation in dem View-Controller hat die richtige Logik

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return YES; //this supports all orientations
}

Wenn Sie Sachen in der Interface Verknüpfung werden auch dafür sorgen, sowohl die Aussicht und die Viewcontroller zur anfänglichen Orientierung konfiguriert sind, die Sie mögen. (Es gibt einen kleinen Pfeil in der rechten oberen Ecke zu drehen Ansichten und View-Controller)

Wenn Sie immer noch Probleme haben, verwenden Sie eine UINavigationController oder ähnliches? UINavigationController werden muss subclassed und ShouldAutorotateToInterfaceOrientation umgesetzt, wenn Sie wollen etwas anderes als Portait unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top