この問題は、Supported Interface Orientations を必要なすべて (Portrait、Landscape right and left) に設定し、いずれかを追加することで解決されましCategory
たUINavigationController
。
UINavigationController
ポートレート モードを維持したい場合にカテゴリを追加し、iOS 6 のローテーションを次の投稿のように処理しました。
@implementation UINavigationController (Rotation_IOS6)
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationPortrait;
}
@end
これを実装しても、コードは次のようになっているため、まだいくつかの問題があります。
[self.window.rootViewController presentModalViewController:controller animated:NO];
これの代わりに:
[self.navigationController pushViewController:controller animated:NO];
上記の変更により、アプリ全体をポートレート モードに保ち、メソッド (shouldRotate および supportedInterfaceOrientations) がオーバーライドされていないため、ビデオ プレーヤー ビューを回転させ続けることができました。