Pregunta

Mi protectores y aplicación muestra una película en pantalla completa utilizando la clase MPMoviePlayerViewController conveniente. Lo presento como esto:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

Y más tarde, cuando se le notifique que el juego se hace, me despido de esta manera:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

Funciona bien, excepto cuando el usuario gira el iPad durante la reproducción de películas:

1- El IPAD es en la orientación vertical. Mi punto de vista es vertical. 2- El usuario inicia la película en orientación vertical. El jugador está en posición vertical. 3- El usuario gira el iPad a la orientación horizontal. 4- El jugador cambia a su orientación horizontal. Hasta aquí todo bien. 5- La película se detiene, el jugador es expulsado, mis reaparece, el iPad sigue siendo horizontal, pero mi punto de vista ha quedado en la orientación vertical se fue en el paso 1. Ahora se ve de lado.

Por supuesto, si el usuario gira entonces el iPad, es hora de volver a la normalidad. Mi punto de vista gira entonces normalmente medida que gira el iPad.

¿Alguien alguna vez encuentro que? Una solución fácil?

Gracias.

¿Fue útil?

Solución

Me he encontrado con esto muchas veces y parece ser un error de Apple (y he reportado como tal).

La única manera (que he encontrado) de evitar esto es para escuchar notificaciones UIDeviceOrientationDidChangeNotification y UIApplicationDidChangeStatusBarOrientationNotification. Utiliza la fecha relativa sobre estas notificaciones; si ambas dentro de un segundo de diferencia, puede estar seguro de que el cambio de barra de estado es el resultado del cambio de usuario orientaciones y los medios de comunicación no SDK cambiar la orientación de la barra de estado. Entonces, cuando se termina la película, se puede decir que su controlador de vista que debe girar con el paisaje.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top