rotacje iOS 6: supportedInterfaceOrientations nie działa?

Mam ten problem z zestawem SDK dla systemu iOS 6: mam kilka widoków, które powinny być dozwolone do obracania (np. Videoview), a niektóre nie. Teraz rozumiem, że muszę sprawdzić wszystkie orientacje w Info.plist aplikacji, a następnie uporządkować w każdym ViewControllerze, co powinno się stać. Ale to nie działa! Aplikacja zawsze obraca się do orientacji podanych w Info.plist.

Info.plist:

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

dowolny kontroler ViewController, który nie powinien mieć możliwości obracania:

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

- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}

Obserwacja: aplikacja obraca się do orientacji poziomej i pionowej. Jakieś pomysły dlaczego lub co robię źle?

Pozdrawiam, Marc

Edytuj: Moje najnowsze odkrycia wskazują również, że jeśli chcesz mieć rotację w pewnym momencie swojej aplikacji, możeszmieć aktywować wszystkie cztery kierunki obrotu w ustawieniach projektu lub Info.plist. Alternatywą do tego jest zastąpienie

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

w aplikacji AppDelegate, która zastępuje Info.plist. Nie można już ustawiać tylko Portretu w Info.plist, a następnie obracać w niektórych ViewController, zastępując shouldAutorotateToInterfaceOrientation lub supportedInterfaceOrientations.

questionAnswers(9)

yourAnswerToTheQuestion