ステータス バーが最初に表示されている状態で、サブビューを追加してステータス バーを非表示にします。
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
[myController.view addSubview:anotherController.view];
このビューにはステータスバーの表示を切り替えるボタンがありますが、もう一度設定statusBarHidden
するNO
と、ビューコントローラーのビューはステータスバーを考慮して自動サイズ変更されず、その結果、ビューが押し下げられて切り取られます20pxまで。ビューに適切なサイズ変更マスクをすべて設定し、自動レイアウトも試しましたが、どちらも機能していないようです。フレームを手動で設定せずにステータスバーを表示/非表示にするときに、ビューのサイズを自動的に変更したいと思います。
アップデート
これをルート ビュー コントローラーのビューに追加する代わりに、ナビゲーション コントローラーのスタックにプッシュし、ステータス バーとナビゲーション バーを非表示にしました。次に、ステータス バーのみを切り替えるオプションをユーザーに提供します。ただし、問題はまだ残っており、ステータスバーが再表示されると、ビューが 20px 押し出されて切り取られます。
しかし、デバイスを回転させると、ステータスバーが非表示になった後にデバイスを回転させた場合にのみ、すべてがその場所にあります。