私は 2 つの単純な UIViewControllers を持っています。それらのビューは 320 x 460 で、ステータス バーがあります。私はAppDelegateで行います
self.window.rootViewController = [[[SimpleController alloc] init] autorelease];
[self.window makeKeyAndVisible];
SimpleController にはボタンがあります
- (IBAction) switchToVerySimpleController
{
[UIView transitionWithView: [[UIApplication sharedApplication] keyWindow]
duration: 0.5
options: UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [[UIApplication sharedApplication] keyWindow].rootViewController = [[[VerySimpleController alloc] init] autorelease]; }
completion: NULL];
}
新しいビュー (VerySimpleController.view) は青色で塗りつぶされています。アニメーションの後、新しいビューの下部に小さな白いストライプ (ステータス バーのサイズ) が表示され、所定の位置にジャンプします。なぜそれが起こっているのか、それを回避する方法は? ステータスバーが原因だと思います.両方のビューで IB で statusBar = Unspecified を設定しようとしましたが、役に立ちません。
更新: 最初から (.info ファイルの設定を通じて) statusBar を非表示にすると、ビューの調整は行われません。それでも...ステータスバーを表示する必要があり、そのアニメーションが適切に機能する必要があります。