2012-09-26 19 views
12

Para reproducir video en mi aplicación, configuro MPMoviePlayerController y lo agrego a la subvista. El usuario puede cambiar al modo de pantalla completa con un gesto de pellizco.Ingresar a pantalla completa en MPMoviePlayerController llama a viewWillDisappear y viewDidDisappear

En este viewController (que contiene la Vista del reproductor de películas), configuré el viewWillDisappear para establecer los objetos en cero.

Pero, en iOS 6, cuando se activa el modo de pantalla completa, el MPMoviePlayerController en el controlador de vista que contiene la Vista del reproductor de películas llama a los métodos viewWillDisappear y viewDidDisappear.

En iOS5, esos métodos no fueron llamados.

+0

Mire esta solución y vea si funciona para su problema. http://stackoverflow.com/a/15440274/1437106 – Husky

Respuesta

16

me encontré con este tema, así y me causó mucho dolor de cabeza. Mi solución temporal hasta que se solucione el error es verificar el valor booleano fullscreen del jugador en viewWillDisappear: y/o viewDidDisappear:. Si devuelve YES, la película está entrando en modo de pantalla completa y debe abstenerse de hacer cualquier cosa que pueda interrumpirla.

+1

También se llama al método viewWillDisappear para todas las supervistas. Si tiene un controlador principal que genera otro controlador que contiene MPMoviePlayerController, cuando se llama a viewWillDisappear, sube hasta la cadena. ¿Hay una solución alternativa para interrumpir la cadena también? –

+0

Supongo que podría intentar omitir la llamada a '[super viewWillDisappear:]' en función de si el valor 'fullscreen' es verdadero o falso. Pero basado en su código que podría causar más problemas de los que soluciona. – Anthony

0

No estoy seguro de que esto es una pregunta pero en caso de que alguien tiene un problema con la emisión recogidos, es decir, alguien que use un viewController (que contiene la película de DVD Ver), he encontrado la solución:

Estaba usando un controlador de vista con el Controlador de reproductor de película y luego presenté este controlador de vista como una subvista. Me deshice de él y usé MoviePlayer.view como una subvista directamente y funciona muy bien.

No hay problema con iOS 5, pero ahora sí lo es. Solucionarlo y disfrutarlo!

Cuestiones relacionadas