Cambiar el controller de vista en la rotation del dispositivo.

Estoy trabajando en mi primer proyecto Xcode y me pregunto si es posible tener 2 controlleres de vista, uno que tendrá una vista vertical y el segundo que tendrá horizontal. ¿Hay alguna manera de vincular estos 2 controlleres de vista para que cuando el dispositivo se rote la vista cambie?

En viewDidLoad, agregue la vista girada a la vista de supervisión y registre a un observador en UIDeviceOrientationDidChangeNotification con un object: [UIDevice currentDevice]. En el selector, establece su marco. Luego, gire la nueva vista girada y establezca el alfa de la vista anterior en 0.0

- (void)deviceOrientationChangedNotification:(NSNotification *)notification { UIDevice *device = [notification object]; UIDeviceOrientation orientation = device.orientation; if (orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight) { [rotatedView setTransform:CGAffineTransformMakeRotation(M_PI_2)]; rotatedView.frame = [UIScreen mainScreen].bounds; oldView.alpha = 0.0; } } 

No te recomiendo que hagas eso, ya que hay algunos controlleres de interfaz de usuario intuitivos que Apple ha diseñado para administrar la navigation de la aplicación, no puedes permitir que los usuarios adivinen cómo hacer algunas tareas en tu aplicación, tienes que mostrarles exactamente cómo hacerlo. Entonces, gire el dispositivo para ir a otro controller de vista, como dijo: quiero una vista completamente diferente cuando se gira … No es una buena idea.

Lea las Pautas completas de interfaz humana de iOS para ver qué se recomienda y qué no:

Directrices de interfaz humana de iOS

En particular, lea: Adaptividad y layout :

Evite cambios gratuitos en el layout. Una experiencia comparable en todos los entornos les permite a las personas mantener sus patrones de uso cuando rotan un dispositivo o ejecutan su aplicación en un dispositivo diferente. Por ejemplo, si utiliza una cuadrícula para mostrar imágenes en un entorno horizontalmente regular, no tiene que mostrar la misma información en una list en un entorno horizontalmente compacto, aunque puede ajustar las dimensiones de la cuadrícula.