アプリ全体でナビゲーション バーを使用しUINavigationController
て表示していますが、ユーザーにステータス バーを表示したくありません。私の問題は、ステータス バーを非表示にすると、ナビゲーション バーのサイズが十分に大きくなく、完全なナビゲーション バーのように見えないことです。
次のいずれかを実行したいと思います。
ステータスバーを単色にします。これはステータス バーの内容を表示せず、文字どおり単なる色になります。
ステータス バーにサブビューを追加して、その「ステータス」コンテンツをすべてカバーできるようにします。このサブビューは単色の UIView になります。
これにより、実際にステータス バーのコンテンツを表示しなくても、上部にフル サイズの「ナビゲーション バー」を表示できます。
編集:
次のUIWindow
回避策を試してみましたが、うまくいきませんでした。次のコードは、ビュー コントローラーのviewWillAppear:
メソッドの 1 つの中で呼び出されています。
UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
statusWindow.windowLevel = UIWindowLevelStatusBar + 1;
statusWindow.hidden = NO;
statusWindow.backgroundColor = [UIColor redColor];
[statusWindow makeKeyAndVisible];
これを機能させることはできません。ステータスバーを非表示にするか、表示する必要がありますか? 上記のコードで非表示と表示の両方を試みましたが、赤い色UIWindow
が画面に表示されません。