Tengo un comportamiento extraño donde mi MPMoviePlayerViewController
no es auto
-llama cuando cambia orientation
. Sin embargo, recreé la misma jerarquía de vistas en un nuevo proyecto y cuando el reproductor MPMoviePlayerViewController
estaba activo, rotó a cada orientación. Revisé el proyecto buscando cualquier cosa que pudiera establecer la orientación explícitamente, pero no hay nada.MPMoviePlayerViewController no gira automáticamente
Voy a presentar toda la información relevante aquí y las cosas que he intentado hasta ahora.
La jerarquía de vistas actualmente tiene el siguiente aspecto:
- Navigation Controller
- "raíz" Vista Controlador < - del mando de navegación 'RootViewController'
- "Feed" Vista Controlador < - Empujado en la pila de navegación por la raíz VC
- "Vista previa" Vista Controlador < - Presentado como un VC modal de la RSS
- MPMoviePlayerViewController Subclase < - presentado por el VC de alimentación a través de 'presentMoviePlayerViewControllerAnimated'
Cada clase en la jerarquía de vistas responde a shouldAutorotateToInterfaceOrientation con YES solo para UIInterfaceOrientationPortrait.
cosas que he intentado:
- enviar manualmente el
shouldAutorotateToInterfaceOrientation
hasta la pila de la "raíz" VC hasta elMPMoviePlayerViewController
- Anulación de la aplicación de las
shouldAutorotateToInterfaceOrientation
MPMoviePlayerViewController
subclase para volver SÍ para ambas orientaciones del paisaje y SÍ para todas las orientaciones. - Configuración de 'Orientación del dispositivo compatible' en la pestaña de resumen del proyecto.
- Llamando al
presentMoviePlayerViewControllerAnimated
de otros VCs como el RSS VC
Si el reproductor de películas gira adecuadamente en un proyecto fresco con misma vista de jerarquía, lo que sea posible podría estar recibiendo en el camino aquí. ¿Alguna idea de dónde se puede estancar la orientación?
Una aplicación que utiliza un UINavigationController (o UITabBarController) sólo gira si ** todos los controles view * visualizables (apilados/tabulados) aceptan la rotación. En su caso, asegúrese de que la subclase MPMoviePlayerViewController devuelve 'SÍ' en todos los casos cuando se le pregunta en' shouldAutorotateToInterfaceOrientation'. – Till
@Till Ciertamente lo entiendo, pero como dije: En un proyecto de prueba con la misma jerarquía de vistas, donde todas las vistas coinciden en una rotación (retrato), el reproductor de películas giró a cada orientación sin ningún problema. Editar: La última parte de su respuesta fue respondida en "Cosas que intenté" en mi pregunta. ¡Gracias! – dannyzlo
a la derecha, revise mi comentario editado ya que inicialmente no entendía completamente su jerarquía de UI. – Till