ステータスバーを非表示にするときに、ステータスバーの白い背景を回避する方法はありますか?
全画面モーダル ビュー (ナビゲーション バー付き) を表示するために非表示にすると、モーダル ビューが表示される直前に、ステータス バーが黒から白にフェードします。
これは気が散ります。モーダルビューが所定の位置に移動している間、ステータスバーをそのままにしたいと思います。せめて黒くフェードしてくれればいいのに。
そのため、ステータス バーを問題なく非表示にして、ステータス バーのないモーダル ビューを表示できます。モーダルビューが配置される前にフェードが発生したくないだけです。
モーダル ビューを表示するときにステータス バーを非表示にすることができました。
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];
または、Interface Builder で「フルスクリーン」を設定します。viewWillDisappear で「NO」を指定してこのメソッドを呼び出すと、ステータス バーを再表示できます。それは正常に動作します。
また、plistで「ステータスバーを最初は非表示」に設定し、アプリのロード時に上記の呼び出しを「NO」に設定して非表示にしないように設定する必要がありました。
これを行う方法について何か考えはありますか?ありがとう。
更新:次のようにアニメーションを使用してモーダル ビューが表示された後、ステータス バーを非表示にできることがわかりました。
[UIView animateWithDuration:0.8 animations:^(void)
{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}];
これで煩わしさは減りましたが、モーダル ビューが配置されるとステータス バーがフェードアウトするようになり、まだ理想的ではありません。ステータスバーの上にモーダルビューを表示したいと思っています。実際、あと数回見ると、見た目は悪くないし、クールに見えるかもしれません:-)