4

ステータスバーを非表示にするときに、ステータスバーの白い背景を回避する方法はありますか?

全画面モーダル ビュー (ナビゲーション バー付き) を表示するために非表示にすると、モーダル ビューが表示される直前に、ステータス バーが黒から白にフェードします。

これは気が散ります。モーダルビューが所定の位置に移動している間、ステータスバーをそのままにしたいと思います。せめて黒くフェードしてくれればいいのに。

そのため、ステータス バーを問題なく非表示にして、ステータス バーのないモーダル ビューを表示できます。モーダルビューが配置される前にフェードが発生したくないだけです。

モーダル ビューを表示するときにステータス バーを非表示にすることができました。

    [[UIApplication sharedApplication] setStatusBarHidden:YES
                                            withAnimation:UIStatusBarAnimationFade];

または、Interface Builder で「フルスクリーン」を設定します。viewWillDisappear で「NO」を指定してこのメ​​ソッドを呼び出すと、ステータス バーを再表示できます。それは正常に動作します。

また、plistで「ステータスバーを最初は非表示」に設定し、アプリのロード時に上記の呼び出しを「NO」に設定して非表示にしないように設定する必要がありました。

これを行う方法について何か考えはありますか?ありがとう。

更新:次のようにアニメーションを使用してモーダル ビューが表示された後、ステータス バーを非表示にできることがわかりました。

    [UIView animateWithDuration:0.8 animations:^(void)
     {
         [[UIApplication sharedApplication] setStatusBarHidden:YES];
     }];

これで煩わしさは減りましたが、モーダル ビューが配置されるとステータス バーがフェードアウトするようになり、まだ理想的ではありません。ステータスバーの上にモーダルビューを表示したいと思っています。実際、あと数回見ると、見た目は悪くないし、クールに見えるかもしれません:-)

4

0 に答える 0