Как изменить цвет значков в строке состояния в версии IOS под 13 — Xamarin Forms?

#c# #ios #xamarin #xamarin.forms #xamarin.ios

#c# #iOS #xamarin #xamarin.forms #xamarin.ios

Вопрос:

я просто не могу изменить цвет значков в строке состояния в версии IOS под 13 моего приложения Xamarin Forms. Я уже это делаю и отлично работает с версией IOS выше 13. Я мог бы изменить цвет фона, но мне это не нужно, мне нужны сами значки.

Посмотрите на пример: этот код работает только для изменения цвета фона строки состояния, я устанавливаю статус.tintColor, но он не меняется…

 private void ChangeStatusBar()
    {
        UIView statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
        if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
        {
            statusBar.BackgroundColor = UIColor.White;
            statusBar.TintColor = UIColor.White;
            UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent;
        }
    }
  

Я использую это для изменения цвета значков в строке состояния в версии IOS выше 13 и работает нормально:

  UIApplication.SharedApplication.SetStatusBarStyle(isLightTheme ? UIStatusBarStyle.LightContent : UIStatusBarStyle.DarkContent, false);
            GetCurrentViewController().SetNeedsStatusBarAppearanceUpdate();
  

Ответ №1:

Убедитесь, что вы добавили описание ключевого значения в info.plist

View controller-based status bar appearance как нет (значение по умолчанию — Да).

введите описание изображения здесь

Комментарии:

1. Вы хотели установить цвет строки состояния как белый?

2. ДА. Я хочу, чтобы значки были белыми

3. Не могли бы вы представить , как это повлияет на iOS13 ?