2009-03-02 14 views
5

Estoy desarrollando un juego en el que estoy usando el modo horizontal Tengo un total de 4 vistas. 2 vistas vienen correctamente en modo Paisaje. Pero en la tercera vista, tengo UITable y barra de navegación. Puedo rotar la mesa en modo horizontal pero no puedo transformar la barra de navegación y el controlador de navegación. La barra de navegación y el Controlador de navegación también tienen un botón. Tampoco se transforma. Entonces, ¿alguien puede tener la solución sobre esto? :)Cómo transformar la barra de navegación y el controlador de navegación en modo horizontal

Respuesta

2

Transforme la barra de navegación del controlador de navegación girándola 90 grados. También es posible que deba configurar el centro y el marco de la barra de navegación para establecer el ancho adecuado para que se ajuste al modo horizontal ... funcionó para mí :) Espero que también le ayude.

1

en la clase de UIViewController documentación:

Manejo Rotaciones

propiedad interfaceOrientation
- shouldAutorotateToInterfaceOrientation:
- rotatingFooterView
- rotatingHeaderView
- willRotateToInterfaceOrientation: duración:
- willAnimateFirstHalfOfRotationToInter faceOrientation: duración:
- willAnimateSecondHalfOfRotationFromInterfaceOrientation: duración:
- didRotateFromInterfaceOrientation:

esperanza que esto le ayuda también.

A.

+0

Gracias por su respuesta funciona – Jyotsna

7
#define degreesToRadians(x) (M_PI * x/180.0) 

- (void)viewWillAppear:(BOOL)animated 
{ 

    [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; 

    CGRect newBounds = CGRectMake(0, 0, 480, 320); 
    self.navigationController.view.bounds = newBounds; 
    self.navigationController.view.center = CGPointMake(newBounds.size.height/2.0, newBounds.size.width/2.0); 

    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(90)); 

    [super viewWillAppear:animated]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    self.navigationController.view.transform = CGAffineTransformIdentity; 
    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(0)); 
    self.navigationController.view.bounds = CGRectMake(0.0, 0.0, 320.0, 480.0); 

    [super viewWillDisappear:animated]; 
} 
+0

Por cierto contexto. La verdadera salsa dulce está transformando la vista del controlador de navegación. – avelis

Cuestiones relacionadas