Вращения iOS 6: поддерживаемые интерфейсы не работают?
У меня есть эта проблема с iOS 6 SDK: у меня есть некоторые виды, которые должны быть разрешены для поворота (например, видеовидение), и некоторые, которые не имеют & t; t. Теперь я понимаю, что должен проверить все ориентации в Info.plist приложения, а затем разобраться в каждом ViewController, что должно произойти. Но это не работает! Приложение всегда поворачивается в направлении, указанном в Info.plist.
Info.plist:
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
любой ViewController, который нельзя вращать:
//deprecated
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
Наблюдение: приложение вращается в альбомной и портретной ориентации. Есть идеи, почему или что я делаю не так?
Ура, Марк
Изменить: Мои последние результаты также показывают, что если вы хотите иметь поворот в какой-то момент в вашем приложении, выhave активировать все четыре направления вращения в настройках вашего проекта или Info.plist. Альтернативой этому является переопределение
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
в вашем AppDelegate, который переопределяет Info.plist. Больше невозможно установить только Portrait в вашем Info.plist, а затем повернуть его в каком-то ViewController, переопределив mustAutorotateToInterfaceOrientation или supportInterfaceOrientations.