¿Puedo hacer que una vista en mi aplicación aparezca en Paisaje y todas las demás en modo vertical?

Mi aplicación de iPhone está en modo vertical en este momento.

Pero necesito reproducir un video que en modo panorámico y dibujar algunos elementos de interfaz de usuario que funcionan mejor en modo vertical. También habrá algunas inputs de text en la pantalla a veces, por lo que el keyboard también deberá aparecer como retrato.

¿Es posible decirle a un UIViewController cuando carga que necesita ir a Paisaje, la vista principal en la stack será Vertical.

No quiero detectar al usuario que gira, quiero decidir qué pantallas serán de paisaje y cuáles serán de retrato.

Por lo tanto, para recapitular, everyscreen / view en mi aplicación será retrato, excepto uno que me gustaría hacer Landscape. Se puede hacer?

Muchas gracias codigo

En su UIViewController implementa este método

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations BOOL result = NO; if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) { result = YES; } return result; } 

Y devuelve YES para la orientación que desea respaldar.
Este método será llamada en su UIViewController cuando se carga, por lo que no recibirá llamadas cada vez que ingrese en UIViewController.


Y si quieres estar absolutamente seguro de que todos los demás UIViewController son la orientación que deseas, también implementa este método en ellos.

Sí, use [[UIApplication shanetworkingApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]]; o retrato para orientación vertical.

 override func viewWillAppear(animated: Bool) { let value = UIInterfaceOrientation.LandscapeRight.rawValue UIDevice.currentDevice().setValue(value, forKey: "orientation") UIApplication.shanetworkingApplication().statusBarHidden = true } override func shouldAutorotate() -> Bool { return true } 

y cámbielo a lo que desee (LandscapeRight, LandscapeLeft o Portrait)