2012-04-05 2 views
3

Ich habe viele verschiedene Fragen gestellt und aus irgendeinem Grund kann mein iPad die Ausrichtung unter Last immer noch nicht erkennen.Die Ausrichtung bei Belastung kann nicht erkannt werden - iPad

Es ist wie der beste Weg, scheint dies zu tun ist durch die statusBarOrientation Erkennung:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSLog(@"View Loads"); 

    if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft 
     || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) { 
     NSLog(@"This is Landscape"); 
    } else { 
     NSLog(@"This is Portrait"); 
    } 
} 

Aber es gibt immer „Portrait“. Ich habe alle vier Orientierungen in meinem .plist und ShouldAutorotateToInterfaceOrientation setzt auch:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { 
     return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || 
       interfaceOrientation == UIInterfaceOrientationLandscapeRight || 
       interfaceOrientation == UIInterfaceOrientationPortrait);   
     } else { 
     return (interfaceOrientation == UIInterfaceOrientationPortrait); 
    } 
} 

Hat jemand eine andere Frage? Danke im Voraus!

+0

Wird Ihre App unabhängig von der Geräteausrichtung immer im Hochformat angezeigt? – MusiGenesis

+0

Nein. Meine App kann sich in jede Richtung drehen, mit Ausnahme von Portrait auf dem Kopf. –

Antwort

4

iPad-Apps beginnen immer im Hochformat, unabhängig von der tatsächlichen Geräteausrichtung (sie werden dann sofort in Querformat gedreht, wenn das der Fall ist, auf dem das Gerät läuft). Wenn Sie die Statusleiste später im Programmlebenszyklus mit demselben Code überprüfen, werden Sie feststellen, dass die tatsächliche Ausrichtung zurückgegeben wird.

+0

Danke! Ich habe später eine Zeit gefunden, diese Aktion zu machen. –