Frage

My iPad App zeigt einen Film voller Bildschirm, um die bequeme MPMoviePlayerViewController Klasse. Ich stelle es wie folgt aus:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

Und später, wenn darüber informiert, dass Spiel getan wird, ich es so abtun:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

Es funktioniert gut, außer wenn der Benutzer dreht das iPad während der Filmwiedergabe:

1- Die IPAD ist in vertikaler Ausrichtung. Meine Ansicht ist, vertikal. 2- Der Benutzer startet den Film in vertikaler Ausrichtung. Der Spieler ist vertikal. 3- dreht der Benutzer die IPAD der horizontalen Ausrichtung. 4- Der Spieler schaltet in seine horizontale Ausrichtung. So weit, ist es gut. 5- Der Film stoppt, wird der Spieler entlassen, mein erscheint wieder, das iPad ist noch horizontal, aber meiner Meinung nach hat sich in der vertikalen Ausrichtung geblieben war in Schritt 1. Nun sieht es seitwärts.

Natürlich, wenn der Benutzer dann das iPad dreht, dann ist es wieder normal. Meine Ansicht dreht sich dann normalerweise als das iPad dreht.

Hat jemand schon einmal, dass begegnen? Eine einfache Lösung?

Danke.

War es hilfreich?

Lösung

Ich habe dies unzählige Male begegnet und es scheint, ein Apple-Bug zu sein (und haben es als solches berichtete).

Der einzige Weg, (die ich gefunden habe) um dies zu UIDeviceOrientationDidChangeNotification und UIApplicationDidChangeStatusBarOrientationNotification Benachrichtigungen zu hören. Verwenden, um die relativen Zeitstempel auf diesen Mitteilungen; wenn sie beide innerhalb einer Sekunde voneinander auftreten, können Sie sicher sein, dass die Statusleiste Änderung ein Ergebnis des Benutzers Orientierungen Schalten und nicht die Medien, die Statusleiste Orientierung SDK ändern. Dann, wenn der Film fertig ist, können Sie die Ansicht Controller sagen, dass es zu Querformat drehen sollte.

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