#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 ?