setStatusBarOrientation:animiert: Sie funktioniert nicht in iOS 6
Habe ich verwendet diesen code, um die Kraft einer Orientierung ändern zurück zum portrait, wenn der Benutzer fertig ist, sich das video anzuschauen (es erlaubt das betrachten im landscape-Modus), bevor knallen die video-view-controller aus dem navigation-controller:
//set statusbar to the desired rotation position
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];
//present/dismiss viewcontroller in order to activate rotating.
UIViewController *mVC = [[[UIViewController alloc] init] autorelease];
[self presentModalViewController:mVC animated:NO];
[self dismissModalViewControllerAnimated:NO];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Diese funktionierte perfekt, bis iOS 5.1.1
. Ich habe sogar versucht, die neue Gegenwart/entlassen Methoden nach dem Lesen in einem anderen post, dass diese verwendet werden sollten, nun:
[self presentViewController:mVC animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];
Das problem ist, es funktioniert überhaupt nicht. Nachdem ich mich gedreht, das video-viewer, um die Landschaft und dann pop es, meine Einstellungen anzeigen (table view controller) kommt zurück, aber auch im landscape-Modus.
Ich habe auch versucht den Tipp von Hier
"Der setStatusBarOrientation:animated:
Methode ist nicht veraltet erklärt. Aber es funktioniert jetzt nur, wenn die supportedInterfaceOrientations
- Methode der oberste full-screen-view-controller gibt 0 zurück. Das schiebt die Verantwortung, sicherzustellen, dass die Statusleiste Ausrichtung konsistent in die Hände des Aufrufers."
So, ich habe experimentierte mit eine Einstellung erzwingen supportedInterfaceOrientations
zu return 0
(vor dem Aufruf der ersten code-block oben), aber es funktioniert auch nicht.
Hat jemand eine Lösung dafür?
Vielen Dank für Ihre Zeit und Mühe.
InformationsquelleAutor flovdu | 2012-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
setStatusBarOrientation
- Methode hat sich verändert Verhalten ein bisschen. Laut Apple-Dokumentation:Das ist seltsam, weil die Dokumente auch sagen "Der Rückgabewert dieser Methode muss nicht 0 sein"
Diese Idee wird nicht funktionieren, wenn Sie tatsächlich wollen, dass es mehr als eine Orientierung.
InformationsquelleAutor Vytis
Ihr root-view-controller sollte die Antwort falsch, die Methode
shouldAutorotate
damit, dass Ihre app reagiert aufsetStatusBarOrientation:animated
Aus der Apple-Dokumentation: "wenn Ihre Anwendung ist Dreh-Fenster mit Inhalt, allerdings sollten Sie nicht willkürlich gesetzt status-bar Ausrichtung mit dieser Methode"
Verstehen, dass, setzen einen breakpoint in der
shouldAutorotate
Methode und Sie werden sehen, dass es heißt juste nach der Einstellung der Statusleiste Orientierung.InformationsquelleAutor nicolas
Hier ist, wie ich das behoben.
https://stackoverflow.com/a/14530123/1901733
Die aktuelle Frage hängt mit der Frage von der oben angegebenen url.
Den statusBarOrientation ist ein echtes problem in ios6.
InformationsquelleAutor SyntheticMeshwork