Ионный: невозможно изменить цвет строки состояния iOS в темном режиме

Я создаю прогрессивное веб-приложение на Ionic, которое хочу добавить на рабочий стол и изменить цвет фона и цвет текста в строке состояния iOS.

Что я сделал

Установил: "@ionic-native/status-bar": "^5.0.0"

В index.html я определил:

  <meta name="apple-mobile-web-app-capable" content="yes"/>
  <meta name="apple-mobile-web-app-status-bar-style" content="default"/>

И в app.component.ts:

    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();
    });

Проблема здесь в том, что строка состояния будет черной, поскольку мой iPhone находится в темном режиме. Я бы хотел, чтобы фон строки состояния всегда был белым, а цвет текста - черным, независимо от того, нахожусь я в темном режиме или нет.

Я уже много чего пробовал, но ни один из них не работал:

<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>

<meta name="apple-mobile-web-app-status-bar-style" content="translucent"/>

    this.platform.ready().then(() => {
      this.statusBar.overlaysWebView(false);
      this.statusBar.backgroundColorByName('white');
      this.splashScreen.hide();
    });

Первый и второй варианты выше просто поместили бы фон строки состояния и цвет текста в белый цвет (что означает, что вы вообще не видите строку состояния), а третий вариант ничего не изменил (фон все еще черный).


person vdvaxel    schedule 03.05.2020    source источник


Ответы (1)


Вы можете добавить следующие настройки в свой config.xml, который работает как временное решение:

<config-file parent="UIUserInterfaceStyle" platform="ios" target="*-Info.plist">
    <string>Light</string>
</config-file>

На основе @unamanic на https://github.com/apache/cordova-plugin-statusbar/issues/148

person Henrique Belfort    schedule 31.07.2020