初期化した最初の UIViewController で (コードで) iPad アプリが interfaceOrientation を検出するのに問題があります。実際、application.statusBarOrientation をトレースすると、横向きで起動した場合でも 1 (UIInterfaceOrientationPortrait) が返されます。
最初の UIViewController で self.interfaceOrientation をトレースすると、viewWillDisappear になるまで 1 のままです...残念ながら遅すぎます!
以下にいくつかのコードを示します (見るべきものはあまりありませんが)。
私のappDelegateにはこれがあります:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// show loading screen first
[window addSubview:loadingScreenViewController.view];
[window makeKeyAndVisible];
NSLog(@"applicationDidBecomeActive:statusBarOrientation = %d", application.statusBarOrientation);
return YES;
}
ステータスバーが横向きであることがはっきりとわかりますが、1(縦向き)をトレースします...そして最初のView Controllerにはこれがあります:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"self.interfaceOrientation = %d", self.interfaceOrientation);
}
ランドスケープモードでも1をトレースします。
何か案は?ここで困った!
ありがとう :)
:-ジョー