Por lo que yo sé la práctica correcta en iOS 6 es escribir un código como este para manejar auto rotación:¿Cuál es el punto de iOS 6 - (BOOL) shouldAutorotate?
// iOS 6
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
En lugar de escribir
// pre-iOS 6 support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
BOOL retVal = UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
return retVal;
}
Para ser honesto, creo que el pre -iOS 6 es mucho más claro: no entiendo el punto de tener 2 métodos para manejar autorrotación, especialmente porque he visto -(BOOL) shouldAutorotate
que devuelve YES
en todos los ejemplos. ¿Me estoy perdiendo de algo?
en realidad es peor. UIInterfaceOrientationIsLandscape no me dice si la interfaz en retrato o retrato al revés. ¿Y qué tenemos que hacer ahora cuando necesitamos decir "Sí, rotar pero solo si quieres rotar al retrato"? Ahora no puedo comprobar 'toInterfaceOrientation' contra UIInterfaceOrientationMaskPortrait ya que no está presente en el nuevo 'shouldAutorotate'. – Indoor