Frage

Schnell Problem:

Ich habe ein UITabBarController mit 2 Navigation-Controller [lässt sie rufen Links und Rechts Controller]

Auf dem Standard ausgewählten Linke-Controller kann ich einen neuen View-Controller drücken, das erkennt Schnittstelle Orientierung.

Auf der rechten Regler kann ich die gleiche View Controller schieben, aber es wird nicht Schnittstelle Orientierung, oder für diese Angelegenheit erkennen kann, wird nicht einmal die shouldAutoRotateInterface Methode bei allen T gehen in ___ T

Haaalp !!

Wenn es von Relevanz ist, die Ansicht Contoller, dass ich verwende die hidesBottomBarWhenPushed Eigenschaft drücken.

War es hilfreich?

Lösung

hat Ihr UITabBarController die automatische Drehung implementieren? jedes Kind, das Viewcontroller autorotate umsetzen will, muss seine Eltern implementieren autorotate haben.

Andere Tipps

Wahrscheinlich ist dies Ihr Problem:

  

Tab Bar-Controller unterstützt ein Porträt   Orientierung standardmäßig und nicht   Drehen, um eine Querformat   , wenn nicht alle der Stammansicht Controller unterstützen solche Orientierung .   Wenn eine Vorrichtung Orientierung   Änderung auftritt, die Registerleiste Controller   Abfragen seiner Reihe von View-Controller.   Wenn einer von ihnen nicht unterstützt   die Ausrichtung, die Registerleiste   Controller nicht sein ändern   Orientierung.

Die Lösung ist die folgende Methode auf jedem View-Controller zu überschreiben, um Ihre Ansicht führende:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
    return YES;
}

Zum Beispiel, anstatt den Standard UITabBarController in IB verwenden, ersetzen Sie es mit Ihrer eigenen Unterklasse enthält nur die oben beschriebene Methode.

Ich bin ein bisschen spät, um die Partei zu diesem Thema, aber ich lief in ein Problem mit Autorotation beim Start für eine Tab-Leiste app, die ich immer im Portrait laufen wollte.

Die plist App verfügt über die notwendigen Einstellungen sowohl für Start in und erlaubt nur Portrait-Modus, und alle meine Ansicht-Controller nur Portrait-Modus ermöglichen. Doch wenn ich die App hält mein iPhone in der Landschaft begann, der App im Porträt begonnen, aber dann auf Landschaft gedreht!

Anstatt Unterklasse UITabBarController, habe ich einfach overrode UITabBarController der shouldAutorotateToInterfaceOrientation: Methode eine Kategorie Klasse UITabBarController verwenden. Ich enthalten diesen Code in meinem AppDelegate:

@implementation UITabBarController(UITabBarControllerCategory)

-(BOOL)shouldAutorotateToInterfaceOrientation:
                 (UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

Arbeiten schön, und ist sehr leicht.

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