¿Cómo rotar la pantalla en orientación horizontal utilizando AVPlayerViewController?

Estoy usando autolayout y en una pantalla creo AVPlayerViewController con la mitad del tamaño de la vista principal. Estoy usando UITabBarViewController y UINavigationController. Esta pantalla se navega desde el primer ViewController secundario de UITabBarViewController. El código es así …

avPlayerVideoController = [[AVPlayerViewController alloc] init]; avPlayer = [AVPlayer playerWithURL:[NSURL URLWithString:videoURL]]; avPlayerVideoController.view.frame = CGRectMake( imgViewVideo.frame.origin.x, imgViewVideo.frame.origin.y, imgViewVideo.frame.size.width, imgViewVideo.frame.size.height); avPlayerVideoController.delegate = self; avPlayerVideoController.showsPlaybackControls = YES; avPlayerVideoController.player = avPlayer; [avPlayerVideoController.player play]; 

ahora quiero que el video se rote en vista horizontal cuando hago clic en el button de pantalla completa que viene con AVPlayerViewController. Simplemente permanece en orientación vertical, incluso roté mi teléfono. Y tampoco hay un método de delegado llamado cuando se toca el button de pantalla completa. Por favor, necesito esto mal. Explique en detalle cómo debería lograr esto. Gracias

Agregue el código siguiente a su viewController con contiene AVPlayerViewController

 -(BOOL)shouldAutorotate{ return YES; } -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskAllButUpsideDown; } 

Espero que te ayude.

 -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ [avPlayerLayer removeFromSuperlayer]; [avPlayerLayer setFrame:self.view.bounds]; [self.view.layer addSublayer:avPlayerLayer]; return UIInterfaceOrientationMaskAllButUpsideDown; }