私は UITabBarController である最初の ViewController を持つ UINavigationController を持っています。
これまでのところ、UINavigationController をサブクラス化し、それらのメソッドを実装しました。
- (BOOL) shouldAutorotate {
return [self.visibleViewController shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations {
return [self.visibleViewController supportedInterfaceOrientations];
}
したがって、自動回転するかどうかを選択するのは子コントローラーです...これまでのところ、UITabBarControllerの回転をブロックし、プッシュされたUIViewControllerの回転を許可することができました。
唯一のことは、UIViewController が横向きモードの場合、それをポップすると、UITabBarController も横向きモードになり、電話が縦向きモードになるまで、通常に戻り、もう回転しません.. .
ランドスケープUIViewControllerをポップすると、UITabBarControllerがすでにポートレートモードになっていることを望みます。
この新しい iOS 6.0 UI のローテーション管理は面倒なようです。