Este error no tiene sentido, ya que la orientación preferida UIInterfaceOrientationLandscapeRight
se devuelve por la orientación apoyadopreferredInterfaceOrientationForPresentation debe devolver una orientación de interfaz soportado
//iOS6
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft);
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
Error:
Terminación de aplicación debido a excepción no detectada 'UIApplicationInvalidInterfaceOrientation', razón: 'preferredInterfaceOrientationForPresentation debe devolver una orientación de interfaz compatible!'
¡Estoy descubriendo que esto me causa dolor! Tengo una aplicación universal que comparte el código de control de visualización y uso la prueba de código anterior para el idioma del usuario. el ipad necesita ser solo horizontal y el retrato de iphone para todos los de barra uno que debe ser horizontal. No puedo conseguir que esto proporcione las orientaciones correctas en – user7865437
Tenga en cuenta que es la parte "Máscara" de "UIInterfaceOrientationMaskLandscape" la parte importante de esta respuesta. El usuario del cartel original es la enumeración incorrecta en su método. Parece un poco tonto que Apple haya creado un nuevo conjunto de enum/options para este método, lo que hace que las personas cometan este error fácil. Además, Xcode no proporciona ninguna verificación del tiempo del compilador porque el método devuelve NSUInteger. –
@lms, toda mi aplicación debería admitir solo para el modo vertical, excepto una vista (que debe ser compatible con Horizontal). En Plist, he configurado la orientación solo para Portrait y escribí el código anterior en el que quiero cambiar la orientación para Landscape. Pero está dando UIInterfaceOrientationLandscapeRight o UIInterfaceOrientationLandscapeLeft. Pero quiero ambos en mi opinión. ¿Puedes decirme cómo puedo obtenerlo? –