Probleme mit Interface-Orientierung und UITabBarController
Schnelle problem:
Habe ich ein UITabBarController mit 2-navigation Controller [nennen wir Sie Links und Rechts Controller]
Auf die standardmäßig ausgewählte Links-Controller kann ich push eine neue View-Controller, der erkennt, interface-Orientierung.
Auf dem Richtigen Controller kann ich push das gleiche View-Controller, aber es wird nicht erkannt interface-Orientierung, oder für diese Angelegenheit, Es wird nicht gehen sogar in die shouldAutoRotateInterface Methode überhaupt T___T
Haaalp!!
Ob es von Relevanz, die View-Controller, dass ich schieben verwenden Sie die hidesBottomBarWhenPushed Eigenschaft.
InformationsquelleAutor Ayton McLoving | 2010-08-06
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
macht Ihr uitabbarcontroller implementieren, die das automatische drehen? jedes Kind viewcontroller, der will, dass zu implementieren Anz. autom. hat seine Eltern implementieren Anz. autom..
Wahrscheinlich das ist Ihr problem:
Die Lösung ist, überschreiben Sie die folgende Methode auf jedem view-controller was zu Ihrer Ansicht:
Zum Beispiel, statt mit dem standardmäßigen
UITabBarController
im IB, ersetzen Sie es mit Ihrem eigenen Unterklasse enthält nur die Methode über.Ich bin ein bisschen spät zur party, aber ich lief in ein problem mit autorotation beim Start für ein app tab bar wollte ich immer laufen im portrait.
Die app plist hat die erforderlichen Einstellungen, um beide start-und erlauben nur den portrait-Modus, und alle meine view-Controller erlauben nur portrait-Modus. Doch, wenn ich die app hält mein iPhone in der Landschaft, die app startete im hochformat, aber dann gedreht, um die Landschaft!
Eher als Unterklasse
UITabBarController
ich einfach überschriebUITabBarController
'sshouldAutorotateToInterfaceOrientation:
- Verfahren mit einer Kategorie der KlasseUITabBarController
. Ich habe diesen code in meine app delegate:Funktioniert wunderbar und ist ganz leicht.
UITabBarController
. Hatte ich untergeordnetUITabBarController
meine UmsetzungshouldAutorotateToInterfaceOrientation
würde nicht genannt haben, die super-Klasse die Methode sowieso. So, der zusätzliche Aufwand für das erstellen von Unterklassen wäre nicht der Mühe Wert, beste Praktiken nicht standhalten. Manchmal muss man Kompromisse machen, die für Effizienz und Zeit, die nicht immer als "best practices". 🙂