modalUIViewController
の親は自動回転しますが、モーダル VC がアップしているときは、縦向きに表示するだけで、回転できないようにしたいです。shouldAutorotate
モーダルVCで...から単純にNOを返そうとしましたが、喜びはありません。iOS 5 以降に対応。
どんな助けでも大歓迎です。
modalUIViewController
の親は自動回転しますが、モーダル VC がアップしているときは、縦向きに表示するだけで、回転できないようにしたいです。shouldAutorotate
モーダルVCで...から単純にNOを返そうとしましたが、喜びはありません。iOS 5 以降に対応。
どんな助けでも大歓迎です。
基本的に、任意のコンテナコントローラー(つまりUINavigationController)でモーダルコントローラーを提示する場合、自動回転メソッドはデフォルトでYESを返します。したがって、UINavigation Controllerのサブクラスを作成し、そこでAutorotationを廃止する必要があります。
iOS 5の使用方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return (toInterfaceOrientation == UIInterfaceOrientationPortrait) : self.enableRotations;
}
iOS 6の場合:
- (NSUInteger)supportedInterfaceOrientations {
switch ([UIDevice currentDevice].userInterfaceIdiom) {
case UIUserInterfaceIdiomPad: return UIInterfaceOrientationMaskAll;
case UIUserInterfaceIdiomPhone: return UIInterfaceOrientationMaskPortrait;
}
}
- (BOOL)shouldAutorotate {
return NO;
}
その新しいコントローラーを新しいナビゲーションコントローラーに提示する必要があります。これにより、問題が解決します
実行可能ですが、実行する前によく考えてください。
ユーザーとして;
使い勝手が悪い…