Не удается установить фон строки состояния в Xamarin.iOS - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно изменить интерфейс строки состояния, где фон черный, а цвет текста белый, в Xamarin.iOS (не в формах).Для этого я хотел настроить вид строки состояния, в поиске всего, что мог в интернете, и нашел нижеприведенный код, работающий для большинства людей.iPhone Xs Simulator).Вот журнал сбоя.

в (управляемая оболочка является нативной) ObjCRuntime.Messaging.xamarin_IntPtr_objc_msgSend_IntPtr (intptr, intptr, intptr) в Foundation.NSObject.ValueForKey (Foundation.Nxx00)в /Library/Frameworks/Xamarin.iOS.framework/Versions/12.2.1.12/src/Xamarin.iOS/Foundation/NSObject.g.cs:599

Может ли кто-нибудь помочь мне с любым намеком на то, почему этокод вылетает в Xamarin.Я попытался найти причину в этой ветке GitHub https://github.com/mono/Embeddinator-4000/issues/597

Но здесь я также не могу получить никакой подсказки.Кроме того, если есть какой-либо другой способ настройки строки состояния, я бы хотел отказаться от этой идеи и перейти к предложенной.

Refer here

1 Ответ

0 голосов
/ 25 февраля 2019

Из того, что я знаю, это работает, но обычно, когда я использую это, я всегда проверяю, доступен или не используется селектор RespondsToSelector:

UIView statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
    statusBar.BackgroundColor = UIColor.White;
}

Кроме того, не забудьте добавить стильна info.plist

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

Обновление

Используйте приведенный выше код в AppDelegate.cs в методе FinishedLaunching.

...