it-swarm.com.ru

Цвет текста в строке состояния iOS Xamarin Forms

Я не могу изменить цвет текста в строке состояния моего приложения Xamarin Forms для iOS на белый. У меня есть изменения в моем info.plist следующим образом:

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

Тем не менее, цвет по-прежнему остается черным. Есть ли другой способ изменить цвет текста в строке состояния?

10
Huby03

В Xamarin.Forms есть три вещи, которые нужно сделать, чтобы получить белый текст в строке состояния iOS. Я также разместил ниже пример приложения Xamarin.Forms, в котором используется белый текст в строке состояния iOS.

1. Обновите Info.plist

В Info.plist добавьте логическое свойство View controller-based status bar appearance и установите для него значение No

 enter image description here

2. Используйте NavigationPage и установите цвет текста панели навигации на белый

В классе Application (обычно App.cs) MainPage должен быть NavigationPage, а BarTextColor должен быть установлен в Color.White enter image description here

3. Очистить и восстановить приложение

Иногда компилятор не обновляет Цвет строки состояния, пока вы не очистите и не перестроите приложение, поэтому после внесения изменений в шагах 1 и 2 очистите приложение и перестройте его .  enter image description here

Образец приложения

https://github.com/brminnick/SaveImageToDatabaseSampleApp/blob/master/README.md

18
Brandon Minnick

Единственный способ изменить строку состояния в IOS для меня - это использовать этот код в FinishedLaunching в AppDelegate.

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    global::Xamarin.Forms.Forms.Init ();

    LoadApplication (.....);
    app.SetStatusBarStyle(UIStatusBarStyle.LightContent, true);

    return base.FinishedLaunching (app, options);
}
1
Renzo Ciot

Выберите NavigationBar и измените свойство Style на Black.

 enter image description here

0
Domysee