2010-12-30 10 views
0

Ich habe ein Problem in meiner Anwendung, die mich verrückt macht. In meiner Anwendung drehe ich den Simulator in den Querformatmodus, aber in meiner unteren Funktion bekomme ich Hochformat.Falsche Orientierung

Was ist das Problem hier? Bitte hilf mir.

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (interfaceOrientation == UIInterfaceOrientationPortrait || 
    interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) 
    { 
    NSLog(@" portrait orientation"); 
    } 
    else 
    { 
    NSLog(@"Landscape"); 
    } 
return YES; 
} 
+0

Bitte aktualisieren Sie die SDK-und Xcode-Version, die Sie verwenden. Wenn ich denselben Code ausführe, erhalte ich das erwartete Ergebnis. Wahrscheinlich hat dein xcode einige Probleme. –

Antwort

0

Warum haben Sie keinen BOOL-Wert zurückgegeben? JA oder NEIN, um dem Betriebssystem mitzuteilen, dass Sie entsprechende Orientierungsereignisse behandeln werden.

1

zuerst der Orientierungswert

die Methode ist
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
// Overriden to allow any orientation. 
NSLog(@"shouldAutorotateToInterfaceOrientation called..."); 
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown) 
     defaultOrientation = 0; 
    else if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
     defaultOrientation = 1; 
    [self setTheOrientation]; 
    return YES; 

}

nun die Werte der Koordinaten festgelegt, die man nach verlangt die Booleschen Werte im setTheOrientation Methode.

1

Die Methode gibt BOOL, Sie haben entweder JA oder NEIN

+0

Entschuldigung ... das war ein Tippfehler..was ich frage ist mein Simulator ist im Querformat, aber ich bekomme die Hochformat-Orientierung ist gedruckt..eine Hilfe – user198725878

+0

wirklich interessant, ich verstehe nicht warum, haben Sie versuchen, debuggen und sehen was wird in interfaceOrientation ausgedruckt? – vodkhang

+0

Sie können versuchen mit NSLog (@ "% d", interfaceOrientation); – vodkhang

0

zurückzukehren Wenn Sie Portrait wollen Modus dann Rückkehr TRUE in hinzufügen, wenn CLOUSE und Wenn Sie Landschaft wollen, dann Rückkehr hinzufügen TRUE in sonst CLOUSE und Wenn Sie beide Modus möchten, dann geben Sie einfach TRUE in shouldAutoRotate clouse