iOS 6 Rotationen: unterstütztInterfaceOrientations funktioniert nicht?

Ich habe dieses Problem mit iOS 6 SDK: Ich habe einige Ansichten, die gedreht werden dürfen (z. B. eine Videoansicht), und einige, die nicht gedreht werden dürfen. Jetzt verstehe ich, dass ich alle Ausrichtungen in der Info.plist der App überprüfen und dann in jedem ViewController sortieren muss, was passieren soll. Aber es geht nicht! Die App dreht sich immer zu den Ausrichtungen, die in der Info.plist angegeben sind.

Info.plist:

<key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

Jeder ViewController, der nicht rotieren darf:

//deprecated
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}

Beobachtung: App dreht sich in Quer- und Hochformat. Irgendwelche Ideen warum oder was mache ich falsch?

Prost, Marc

Bearbeiten: Meine neuesten Erkenntnisse zeigen auch, dass Sie, wenn Sie irgendwann in Ihrer App eine Rotation haben möchtenhaben um alle vier Drehrichtungen in Ihren Projekteinstellungen oder in der Info.plist zu aktivieren. Eine Alternative dazu ist das Überschreiben

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

in Ihrem AppDelegate, das die Info.plist überschreibt. Es ist nicht mehr möglich, nur Hochformat in Ihrer Info.plist festzulegen und dann in einigen ViewControllern zu drehen, indem shouldAutorotateToInterfaceOrientation oder supportedInterfaceOrientations überschrieben werden.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage