iOS6: supportedInterfaceOrientations funktioniert nicht (wird aufgerufen, aber das Interface dreht sich noch)

In meiner App habe ich mehrere Ansichten, einige Ansichten müssen sowohl Hochformat als auch Querformat unterstützen, während andere Ansichten nur Hochformat unterstützen müssen. Daher habe ich in der Projektzusammenfassung alle Ausrichtungen ausgewählt.

Mit dem folgenden Code wurde der Querformatmodus auf einem bestimmten Ansichtscontroller vor iOS 6 deaktiviert:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

Da shouldAutorotateToInterfaceOrientation in iOS6 veraltet war, habe ich das Obige durch Folgendes ersetzt:

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMask.Portrait;
}

Diese Methode wird korrekt aufgerufen, wenn die Ansicht angezeigt wird (ich kann einen Haltepunkt festlegen, um dies sicherzustellen), die Benutzeroberfläche wird jedoch weiterhin in den Querformatmodus gedreht, unabhängig davon, dass ich die Maske nur für den Hochformatmodus zurückgebe. Was mache ich falsch?

Es scheint derzeit unmöglich zu sein, eine App mit unterschiedlichen Orientierungsanforderungen pro Ansicht zu erstellen. Es scheint nur die in der Projektzusammenfassung angegebenen Orientierungen einzuhalten.

Antworten auf die Frage(15)

Ihre Antwort auf die Frage