2009-03-02 22 views
5

Sto sviluppando un gioco in cui sto usando la modalità orizzontale Ho una vista totale di 4. 2 viste stanno correttamente arrivando in modalità orizzontale. Ma in terza vista ho UITable e barra di navigazione. Posso ruotare la tabella in modalità orizzontale ma non in grado di trasformare la barra di navigazione e il controller di navigazione. La barra di navigazione e il controller di navigazione hanno anche il pulsante su di esso. Inoltre non viene trasformato. Quindi chiunque può avere la soluzione su questo. :)Come trasformare la barra di navigazione e il controller di navigazione in modalità orizzontale

risposta

2

Trasforma la barra di navigazione del controller di nagvigation ruotandola di 90 gradi. Inoltre potresti aver bisogno di impostare il centro della barra di navigazione e la cornice per impostare la larghezza adeguata per adattarla alla modalità orizzontale. Ha funzionato per me :) spero che ti aiuti anche tu.

1

nella classe di documentazione UIViewController:

Handling Rotazioni

proprietà interfaceOrientation
- shouldAutorotateToInterfaceOrientation:
- rotatingFooterView
- rotatingHeaderView
- willRotateToInterfaceOrientation: Durata:
- willAnimateFirstHalfOfRotationToInter faceOrientation: Durata:
- willAnimateSecondHalfOfRotationFromInterfaceOrientation: Durata:
- didRotateFromInterfaceOrientation:

speranza che questo ti aiuta anche.

A.

+0

Grazie per la risposta funziona – 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

Per alcuni contesto. La vera salsa dolce sta trasformando la vista stessa del controller di navigazione. – avelis

Problemi correlati