2016-12-29 10 views
1

私は別の記事を読んでいますが、それは何とか私のためではありません。 私はXamarinフォームNavigationPage.BarTextColorが機能しない

<key>UIViewControllerBasedStatusBarAppearance</key> 
    <false/> 

そして

var p = new FreshNavigationContainer(page); 
    p.BarTextColor = Color.Fuchsia; 
    p.BarBackgroundColor = Color.Aqua; 
    MainPage = p; 

FreshNavigationContainerがNavigationPageから派生したplistに加えます。

各ページのステータスバーの色を変更したいと思っています。ページが暗いとき - ステータスバーが明るい必要があります。およびその逆。

+0

こんにちはVorotnyak!この問題はiOSでのみ起こっていますか?あなたはそれがAndroidアプリでも起こっているかどうか確認できますか? –

+0

私はあなたが期待していることにいくつかの推測に基づいて答えを残しました。あなたが何を変更したいのかについてより詳細に質問を更新できるなら、私は必要に応じて回答を調整します。 – therealjohn

+0

FreshNavigationContainerコードを共有できますか? – Atul

答えて

2

私はあなたの色を変えようとしているところにちょうど混乱があると思います。

UIViewControllerBasedStatusBarAppearanceは、通常、ステータスバーのテキストの色を変更することと組み合わせて使用​​されます。例えば、このような変更を行うだろう

UIApplication.SharedApplication.SetStatusBarStyle (UIStatusBarStyle.LightContent, false); 

:あなたはこれを変更するBarTextColorを期待しているかもしれないよう

enter image description here

に見えます。しかし、それは上の画像のテキスト "My Expenses"を変更します。

iOSプロジェクト(フォームではありません)を使用して、ステータスバーのテキストの色をiOSプロジェクトで変更する必要があります。サンプルhere。あなたの全体のアプリは、ステータスバーの光のテキストの色を持っているあなたのInfo.plistを更新する場合:

<key>UIStatusBarStyle</key> 
<string>UIStatusBarStyleLightContent</string> 
<key>UIViewControllerBasedStatusBarAppearance</key> 
<false/> 

更新:

あなたは、各ページのステータスバーの色を変更したい場合は、 UIViewControllerBasedStatusBarAppearanceをtrueに設定する必要があります。ステータスバーの色を変更する各ページに対して、iOSプロジェクトでPageRendererを使用する必要があります。レンダラーではViewWillAppearメソッドでUIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent;を呼び出すことができます。

hereと記載されているスタイルのオプションは限られています。

+0

私は、各ページでステータスバーの色を別々に変更する機能が必要です。どうしたらいいですか? 上記のコードは、アプリケーション全体のステータスバーの色を変更します –

+0

私もこの問題に対処するために答えを更新しました – therealjohn

関連する問題