2012-10-03 11 views
5

Ich verwende neue Ausrichtungsmethoden von IOS 6 und es funktioniert gut. Meine Ansicht wird im Hochformat angezeigt, und wenn ich viewcotrnoller darstelle und in den Querformatmodus drehe, verlasse ich den Ansichtscontroller, um die Ausrichtung wiederherzustellen. bedeutet, es sollte in der Landschaft bleiben, aber es wird zum Porträt. Hier ist mein Code.ios6 Rotationsproblem von Querformat zu Hochformat

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskAll; 

} 

// Tell the system It should autorotate 
- (BOOL) shouldAutorotate { 
    return YES; 
} 

// Tell the system which initial orientation we want to have 
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { 
    return UIInterfaceOrientationMaskPortrait; 
} 

Ich denke, es wegen preferredInterfaceOrientationForPresentation Methode geschieht, aber nicht die Lösung für this.Please Hilfe bekommen!

Danke !!

+0

Was ist das genaue Problem übrigens? Sie haben Portrait nur für preferredInterfaceOrientation festgelegt. Daher sollte der Controller immer nur im Portrait-Modus angezeigt werden. Versuchen Sie UIInterfaceOrientationMaskAll und überprüfen Sie, was passiert. – mayuur

+0

Beenden der App aufgrund der nicht abgefangenen Ausnahme 'UIApplicationInvalidInterfaceOrientation', Grund: 'preferredInterfaceOrientationForPresentation muss eine unterstützte Schnittstellenausrichtung zurückgeben!' Es ist abgestürzt – iProgrammer

+2

Mein schlechtes. Es akzeptiert eine UIInterfaceOrientation und keine Maske. BTW, Löschen dieser Methode funktioniert! Was ist der Gebrauch sowieso? – mayuur

Antwort

6

Wenn Sie möchten, dass alle interfaceOrientations am Anfang unterstützt werden, schreiben Sie nicht die preferredInterfaceOrientationForPresentation-Methode, da dies immer die bevorzugte Ausrichtung der Schnittstelle dauern würde.

+0

Danke für die Antwort :) Es funktioniert – iProgrammer

Verwandte Themen