2011-01-05 16 views
0

Gibt es eine Möglichkeit, die aktuelle Position des Geräts manuell zu überprüfen UND das Gerät automatisch zu drehen, ohne darauf zu warten, dass der Benutzer das Gerät tatsächlich dreht?iPhone Rotation bei Bedarf

Derzeit steuere ich die Rotation mit mehreren IFs in -shouldAutorotateToInterfaceOrientation, aber in einigen Situationen muss ich die Ansicht von rotieren und wieder aktivieren und ich möchte nicht, dass Benutzer das Gerät zweimal drehen, um die gewünschte Ausrichtung zu haben.

Antwort

0

für Orientierung Überprüfung

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation]; 

dann basierend auf dem Zustand können Sie Geräteausrichtung ändern, wie Sie wollen ..

können Sie:

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationPortrait; 

oder was auch immer Sie wollen.

oder Sie können gehen für folgende, aber dies ist nicht

[[UIDevice currentDevice] setOrientation:UIDeviceOrientationPortrait]; 
+0

Die letzte Zeile ist genau das, was ich brauche;) Gibt es ein solches Verfahren ?. Ich habe meine Drehung gesperrt und möchte sie von Zeit zu Zeit manuell in die aktuelle Ausrichtung ändern. – yosh

+0

Wie gesagt, diese Methode ist in Apple nicht dokumentiert, aber selbst Sie können sie verwenden. Es funktioniert für mich, aber ich möchte Ihnen sagen, dass Sie diese Methode in viewWillAppear verwenden müssen –

+0

Nun, es funktioniert nicht wirklich in ViewWillAppear für meine iPad App. Gibt es wirklich keine Möglichkeit zu sagen: "In die Landschaft drehen und von nun an in der Landschaft bleiben, bis ich sie ausschalte"? – yosh

Verwandte Themen