Pregunta

I tiene un controlador de vista que se ha añadido a una UITabBarController. En este controlador de vista Tengo un botón que abre una película utilizando MPMoviePlayerViewController.

Cuando toco la película, la barra de navegación superior está siendo superpuesto en la parte superior de la película, bloqueando efectivamente una parte de la pantalla.

Cuando este controlador de vista no está dentro de un UITabBarController, sin embargo, se reproduce la película fina.

Alguien sabe lo que está pasando?

¿Fue útil?

Solución

descubierto. Creo que las cosas se ponen torcidas porque MPMoviePlayerViewController tiene un método añadido como una categoría a UIViewController llamada presentMoviePlayerViewControllerAnimated:. Normalmente se llaman así en su UIViewController:

[self presentMoviePlayerViewControllerAnimated:mp];

Sin embargo, en este caso, si ha añadido el controlador de vista de una pila UITabBarController, self es su controlador de vista dentro del controlador de la barra de pestañas, y creo que esto hace las cosas Screwy. La solución es llamar presentMoviePlayerViewControllerAnimated: con el controlador de vista de los padres, que en mi caso, fue otro UIViewController que era UITabBarController vivienda. Simplemente hace referencia a la vista padre y añadí a mi método init vista del controlador, a continuación, llamado algo así como [parentController presentMoviePlayerViewControllerAnimated:mp].

Uf. Esperanza de que ayude a alguien.

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