Vídeo a pantalla completa de YouTube, rotation y la barra de estado (iOS)

Encontré un problema en mi proyecto actual, así que hice una aplicación simple para ver si podía aislar el problema. En el delegado de mi aplicación oculto la barra de estado.

[application setStatusBarHidden:YES animated:NO]; 

En mi controller de vista única, tengo este código:

 - (void)loadVideo { // HTML to embed YouTube video NSString *youTubeVideoHTML = @"<html><head>\ <body style=\"margin:0\">\ <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ width=\"%0.0f\" height=\"%0.0f\"></embed>\ </body></html>"; // Populate HTML with the URL and requested frame size NSString *html = [NSString stringWithFormat:youTubeVideoHTML, @"http://www.youtube.com/watch?v=VDRoBnL1gRg", 500, 500]; // Load the html into the webview [self.webview loadHTMLString:html baseURL:nil]; } 

La aplicación también está configurada para autorotate.

Ahora, este es el problema: cuando juego el video de YouTube, ingrese al modo de pantalla completa, gire el dispositivo 90 grados y presione "Listo" para salir de la pantalla completa, toda la interfaz permanece desplazada 20px como si estuviera acomodando una barra de estado. Noté que cuando veo un video en pantalla completa, ios agrega una barra de estado, así que supongo que eso es parte del problema. También he visto el problema con el reproductor de video nativo.

¿Algunas ideas?

Utilicé este método YouTube embed recientemente para mi Game Guide: Black Ops 2, y tuve este problema junto con mostrar el rootViewController al presionar el button "hecho" del reproductor de películas. Verificando "Quiere pantalla completa" en rootViewController arregló el desplazamiento de 20 píxeles, y para corregir el rootViewController que se muestra después de presionar el button "hecho", lo agregué al rootViewController que estaba agregando un UIViewController (con tableView) como un niño que estaba usando [presentViewControllerAnimated: (BOOL) finalización: nil] para mostrar ViewController con YouTube Video Embed.

Ahora todo funciona perfectamente … mira la pestaña Videos en mi aplicación si quieres ver cómo se comporta.

 -(void)viewDidAppear:(BOOL)animated { NSLog(@"Main View viewDidAppear..."); [super viewDidAppear:animated]; [self dismissViewControllerAnimated:YES completion:nil]; 

}

ios youtube iphone rotation barra de estado mpmovieplayerviewcontroller

Tuve un problema similar.

Creé vistas en storyboard. Verificar Wants full Screen en la sección de layout de la configuration del controller de vista lo resolvió para mí.

Si por casualidad está utilizando un UITabBarController, debe instalar esta vista como la raíz de su window. A diferencia de otros controlleres de vista, una interfaz de barra de tabs nunca debe instalarse como un elemento secundario de otro controller de vista.

Para tratar de agregar a su siguiente key de info.plist: UIStatusBarHidden ("La barra de estado está inicialmente oculta") con el valor SÍ.