objective c - tutorial - Detener solo la pantalla del iPhone girando en el proyecto Universal Xcode 6
swift ios documentation (3)
Echa un vistazo a THIS respuesta.
Básicamente, tendría que implementar la respuesta de Chris1994 en una subclase UINavigationController o UITabBarController y luego agregar lo siguiente a la primera subclase UIVIewController que tiene en ese Nav o Tab Controller:
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
Con la introducción de Xcode 6, Apple eliminó la capacidad de tener fácilmente varios guiones gráficos para iPad y iPhone en las aplicaciones de Universal. Debido a esto, no puede diferenciar entre iPad y iPhone en el panel / configuración de rotación.
¿Cómo puedo evitar que la aplicación para iPhone gire hacia el paisaje, mientras sigo permitiendo que la aplicación para iPad lo haga?
¿Es algo que solo puedes hacer en código? Si lo es, sigo usando Objective C, no Swift.
Eliminar el código de todas las demás respuestas. Vaya a su archivo info.plist y agregue lo siguiente.
- "Orientaciones de interfaz admitidas" - Array
- "Retrato (botón de inicio inferior)" - Cuerda
- "Retrato (botón de inicio superior)" - Cuerda
- "Orientaciones de interfaz admitidas (iPad)" - Array
- "Retrato (botón de inicio inferior)" - Cuerda
- "Retrato (botón de inicio superior)" - Cuerda
- "Paisaje (botón de inicio izquierdo)" - Cuerda
- "Paisaje (botón derecho de la casa)" - Cuerda
- (NSUInteger) supportedInterfaceOrientations
{
NSString *device = [UIDevice currentDevice].model;
if([device isEqualToString:@"iPhone"])
{
return UIInterfaceOrientationMaskPortrait;
}
else
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
}
}
- (BOOL)shouldAutorotate
{
if([device isEqualToString:@"iPhone"])
{
return NO;
}
else
{
return YES;
}
}