私は、独自のビューコントローラーを持つ3つの異なるビューを持つタブバーアプリケーションを持っています。
タブバーコードには、回転を処理するためにこれがあります。
#import "RotatingTabBarController.h"
@implementation RotatingTabBarController
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
@end
次に、デバイスの向きに応じて回転させたい2番目のビューコントローラーで:
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
そして、回転させたくない他の2つのビューについては、このメソッドを設定しています。
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
問題:これは、ビュー1とビュー3で、デバイスを回転させたときに縦向きモードのままで正常に機能します。ビュー 2 で横向きに回転すると、ビューは期待どおりになり、横向きに回転します。ただし、ビュー 2 の横向きモードでビュー 1 またはビュー 3 タブをクリックすると、ビュー 1 とビュー 3 は横向きモードになります。
ビュー 2 が横向きに回転しても、強制的に縦向きにする方法がわかりません。
これを行う方法を知っている人はいますか?