iOS 6.0 でいくつかのアプリ ビュー コントローラーを回転させないようにしたい。これは、iOS 6 で回転を可能にするために私が行ったことです。
1.) application:didFinishLaunchingWithOptions で Windows の rootviewController を設定します。
self.window.rootViewController = self.tabBarController;
2.) ターゲット (XCode) で「サポートされているインターフェイスの向き」を設定して、すべての向きを使用できるようにします。
3.) 新しい iOS 6.0 回転機能を実装しました
- (BOOL) shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
4.) 何らかの理由で、UINavigationController をサブクラス化し、これらの新しい機能も実装し、元のナビゲーション コントローラーの代わりにこの新しいナビゲーション コントローラーを使用しました。
これまでのところ、すべてが正常に機能し、すべてのビューコントローラーがすべての向きに回転できるようになりました. 今、私はいくつかのviewControllerを回転させず、縦向きにとどめたいと思っています。しかし、このような特定のビューコントローラーで新しい回転メソッドを設定すると、すべての向きに回転します:
- (BOOL) shouldAutorotate {
return NO;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
また、上記のようにナビゲーション コントローラーの回転機能を設定しても、何も変わりません。(すべてのビューコントローラーはあらゆる方向に回転できます)
私は何を間違っていますか?
編集:
また、優先する Interfaceorientation を設定しても何も変わりません。
- (UIInterfaceOrientation) preferredInterfaceOrientationForPresentation {
return UIInterfaceOrientationMaskPortrait;
}