Quiero admitir la rotación de iOS 6. El problema es que he estado revisando una gran cantidad de documentación y apilando preguntas de desbordamiento, pero no he encontrado soluciones ni siquiera ligeramente profundas. Sólo he visto que debo añadir estos dos métodos para mis clases de vista del controlador - sin embargo, si no estoy equivocado, que no operan de la misma forma que el IOS 6 pre métodos:iOS 6 Rotación: presionando un controlador de vista
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll; // use what is appropriate for you.
}
Mi la aplicación actualmente rota en pre-iOS6 usando el siguiente código. Tenga en cuenta que utilizo los parámetros de orientación de la interfaz para determinar si voy a presionar o no mi vista Controlador. ¿Cómo implemento esto en los delegados de rotación de iOS 6?
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
UIInterfaceOrientation toOrientation = self.interfaceOrientation;
if (self.tabBarController.view.subviews.count >= 2)
{
UIView *tabBar = [self.tabBarController.view.subviews objectAtIndex:1];
if(toOrientation != UIInterfaceOrientationLandscapeLeft && toOrientation != UIInterfaceOrientationLandscapeRight)
{
CUSTOM_DEBUG_LOG("\n\nRotated back to Portrait");
tabBar.hidden = FALSE;
}
}
}
- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
{
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
CUSTOM_DEBUG_LOG("\nView going landscape");
ScrollViewController *s = [[ScrollViewController alloc] initWithNibName:@"ScrollViewController" bundle:nil];
[self.navigationController pushViewController:s animated:NO];
[s release];
self.tabBarController.tabBar.hidden = YES;
self.navigationController.navigationBar.hidden = YES;
}
}
Mire la película WWDC 2012 sobre los controladores de vista. – matt
Creo que no formulé correctamente mi pregunta, porque mi aplicación funciona sin ninguna de las respuestas aquí. Básicamente no pude hacer que la rotación funcionara en iOS y pensé que las funciones willAnimate ... también estaban en desuso. Resulta que no lo son. Entonces mi aplicación todavía funciona. ¿Hurra? Lamentablemente, tengo barras blancas antiestéticas gigantescas en mi página de las que necesito deshacerme. Hora de publicar otra pregunta. –