ios - 透過 - view controller-based status bar appearance
ステータスバーの色合いを設定する (2)
ああ! 私は実用的なソリューションを持っています...しかし、非常に汚れていて、一時的な解決策です。
- ストーリーボードのナビゲーションバーを非表示にするだけです(問題の画像に示されているように -
Shows Navigation Bar
オフにします)。 - ナビゲーションバーをビューにドラッグします。
-
Alpha
を0に設定し、User Interaction Enabled
- 隠してはいけない 次の図に示すように、ナビゲーションバーが上部にあることを確認します。
これにより、ステータスバーはナビゲーションバーを表示せずに正しい色を選択します。
最近のXcodeのアップデートでは、これを行うためのより弾力性のある/より良い方法が望まれるでしょう。
ヒント:ツールバーをナビゲーションバーのように見せるには:
- ツールバーの位置をY軸に-1
- 高さ44px、幅320px、位置0,0のラベル(テキストなし)を作成します。 これは、タブバーの下の境界線になります。 最善の結果を得るには、アプリのページのスクリーンショットを撮ってソフトウェアを使用して境界の色を取得します。これは、シャドウが始まる前のタブの最も暗い部分です(この色をラベルの背景として使用します)。
タブ付きのバーアプリケーションがあり、ステータスバーの色合いがデフォルトに設定されているため、アプリ全体で常に選択された青色になります。
しかし、1つのビューでは、ナビゲーションバーを次のように隠しています。
[self.navigationController setNavigationBarHidden:YES];
これは、 viewWillAppear
メソッド内にあり、ビューは私のアプリケーションのタブの1つであるため、アクセス可能です。
私がそれを隠しているのは、その場所にツールバー(約6つのボタン)を置いているからです。
私はツールバーの色合いを設定しましたが、このビューのステータスバーは常に黒です。 ステータスバーの色を保持するために、このビューのステータスバーを再設定する方法がありますか、またはナビゲーションバーを非表示にするより良い方法があります。
更新色合いがデフォルトに設定されている場合、ステータスバーの色はヘッダーの最も低いピクセルの色になります。
私はストーリーボードのナビゲーションバーを隠そうとしていて、色合いを「カスタム」に変更しようとしましたが、これも効果がありませんでした。
これらの2つのスクリーンショットは私の問題を説明するかもしれません。 ナビゲーションバーを切り替えるとステータスバーの色が変わります。 これは問題のビューが埋め込まれているナビゲーションコントローラです。
Change statusBarStyle of application-
[[UIApplication sharedApplication]
setStatusBarStyle:UIStatusBarStyleDefault animated:NO];