これは単なるテスト アプリケーションです。作成するのは AppDelegate クラスだけです。ウィンドウ ベースのアプリを作成し、info.plist でサポートされている向きを横向きのみに設定し、次のコードを追加するだけです。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
// Override point for customization after application launch.
UIAlertView *test = [[UIAlertView alloc] initWithTitle:@"hu" message:@"hui" delegate:nil cancelButtonTitle:@"hi" otherButtonTitles:nil];
[test show];
[window makeKeyAndVisible];
NSLog(@"win %f - %f", window.bounds.size.width, window.bounds.size.height);
return YES;
}
ステータス バーの向きを設定する最初の行がない場合、残りのインターフェイスが横向きのままであっても、アラート ビューは縦向きに表示されます。
とにかく、ログはまだこれを提供します:
win 768.000000 - 1024.000000
これは間違った方法です (したがって、実際のアプリにサブビューを追加すると、フレームが正しくありません)
Apple はインターフェイスのローテーションを本当にいじったようです。私は問題しかなかったので、iPhone で起こったことを覚えていません。誰か、これを修正する方法を教えてください。
500 の評判 (私の評判の 10 を除く) を、少なくともこれが起こる理由を説明し、うまくいけば解決策を提供できる人に与えます。