El controller de vista modal gira incorrectamente en iOS 5.1, no en 5.0

Tengo un controller de vista principal que está en paisaje (toda la aplicación es horizontal / izquierda).

Esa vista principal presenta una vista modal usando:

ModalViewController *modalVC = [[ModalViewController alloc] init]; [modalVC setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentModalViewController:modalVC animated:YES]; 

En iOS 5.0 *, esto funciona exactamente como era de esperar, la vista principal está en el paisaje y la vista modal aparece en el paisaje.

En iOS 5.1, la vista principal gira instantáneamente 90º hacia la izquierda y la vista modal también aparece girada 90º y recortada. Cuando se descarta la vista modal, la vista principal vuelve y es normal y en paisaje.

He intentado todo tipo de mutaciones de shouldAutorotateToInterfaceOrientation y no tiene ningún efecto. Lo dejé así por ahora:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); } 

Simplemente no puedo entender esto, nunca tuve un problema hasta que puse iOS 5.1 en mi iPhone y ejecuté la aplicación por primera vez.

¡Gracias por adelantado!

* Esto se confirma con los simuladores de iPhone 5.0 y 5.1

Asegúrese de mostrar el controller de vista modal (sin animation) y antes de hacer esto:

 [window makeKeyAndVisible] 

Entonces llama

 [uiviewcontroller presentViewController:modalViewController animated:NO completion:nil]; [window makeKeyAndVisible];