iphone - Hacer que una clase específica de controlador de vista se gire automáticamente en una aplicación de barra de pestañas, pero obligando al resto de las clases de controlador de vista a permanecer en el retrato
uiviewcontroller autorotate (1)
Usted puede lograr esto por:
- configuración de la orientación de la
viewWillAppear
deviewWillAppear
para verviewWillAppear
y ver queviewWillDisappear
-(void) viewWillAppear:(BOOL)animated { [super viewWillAppear: animated]; [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight]; }
-(void) viewWillDisappear:(BOOL)animated { [super viewWillDisappear: animated]; [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationPortrait]; }
y girando una vista manualmente: self.view.transform = CGAffineTransformMakeRotation(M_PI/2);
- presentando esa vista modaly activará el método
shouldAutorotateToInterfaceOrientation
Tengo un controlador de barra de pestañas con este código
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
//NSLog(@"object type %@" ,nil);
if([[self navigationController ] isKindOfClass:[UINavigationController class]])
if([[[self navigationController] visibleViewController] isKindOfClass:[SLImageViewController class]])
return YES;
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
Necesito cualquier instancia de la clase SLImageViewController para rotar, pero ninguna de las demás. He hecho todo lo que puedo pensar, como agregar un retorno SÍ a mi SLViewViewController y otras soluciones.
¿Alguien puede decirme lo que estoy haciendo mal?