Подтвердить что ты не робот

Как полностью скрыть строку состояния в iOS с помощью Кордовы?

Я хочу, чтобы у меня не было строки состояния для приложения Кордовы. Я почти там, строка состояния не отображается на заставке. Однако на первой загружаемой странице вы видите вспышку строки состояния, прежде чем она будет скрыта.

Я установил флажок "Скрыть строку состояния" в Xcode.

Я добавил плагин cordova-plugin-statusbar, а в обратном вызове deviceready я вызываю StatusBar.hide().

Однако, когда изображение всплеска исчезает, и первая страница отображается, перед отображаемой страницей появляется индикатор состояния. Это только на долю секунды, но выглядит ужасно.

Кто-нибудь знает, как строка состояния может быть полностью скрыта, не мигая, прежде чем скрыться?

4b9b3361

Ответ 1

Хотя я отвечаю на этот вопрос очень поздно, но после одного полного дня поиска, я получил эту работу просто так, что хотел бы поделиться ею с другими.

В соответствии с docs (и как jcesarmobile):

Скрытие при запуске

Во время выполнения вы можете использовать функцию StatusBar.hide ниже, но если вы хотите, чтобы StatusBar был скрыт при запуске приложения, вы должны изменить файл вашего приложения Info.plist.

Добавьте/отредактируйте эти два атрибута, если они отсутствуют. Установите "Строка состояния" изначально скрытый "до" YES "и установите" Показать строку состояния на основе контроллера внешний вид "на" NO ". Если вы отредактируете его вручную без Xcode, клавиши и значения:

Для этого необходимо изменить файл приложения info.plist внутри файла platforms/ios/<app-name>/<app-name>-Info.plist, чтобы добавить следующие строки:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

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

Согласно документам:

Почему я должен использовать его?

В то время как некоторые настройки платформы могут быть установлены через Cordova/Phonegap в config.xml, многие (особенно связанные с более новые версии платформ) не может. Одним из решений является ручное редактирование файлы конфигурации в каталоге платформ /, но это не поддерживаемый на нескольких машинах разработки или в среде CI где последующие операции сборки могут перезаписать ваши изменения.

Этот плагин пытается устранить этот пробел, разрешив дополнительный специфические для платформы настройки, которые должны быть установлены после операции подготовки завершена, позволяя либо предпочтениям, установленным Кордобой, переопределенные или другие неуказанные настройки. Поскольку пользовательские настройки вводятся в config.xml, они могут быть приверженность контролю версий и, следовательно, применяется к нескольким машины разработки, среды CI и поддерживаются между сборками или даже если платформа удалена и повторно добавлена.

Теперь вам нужно всего лишь запустить следующую команду для вашего приложения cordova:

cordova plugin add cordova-custom-config --save

И добавьте это в свой config.xml файл в блок <platform name="ios">:

<config-file parent="UIStatusBarHidden" platform="ios" target="*-Info.plist">
    <true/>
</config-file>
<config-file parent="UIViewControllerBasedStatusBarAppearance" platform="ios" target="*-Info.plist">
    <false/>
</config-file>

Ответ 2

EDIT:

Начиная с Cordova CLI 6.5.0 вы можете использовать тег edit-config для записи в info.plist без плагина. Это должно скрыть панель состояния при запуске

<edit-config file="*-Info.plist" target="UIStatusBarHidden" mode="merge">
    <true/>
</edit-config>
<edit-config file="*-Info.plist" target="UIViewControllerBasedStatusBarAppearance" mode="merge">
    <false/>
</edit-config>

Скрытие при запуске

Во время выполнения вы можете использовать функцию StatusBar.hide ниже, но если вы хотите, чтобы StatusBar был скрыт при запуске приложения, вы должны изменить файл вашего приложения Info.plist.

Добавьте/отредактируйте эти два атрибута, если они отсутствуют. Установите "Строка состояния" изначально скрытый "до" YES "и установите" Показать строку состояния на основе контроллера внешний вид "на" NO ". Если вы отредактируете его вручную без Xcode, клавиши и значения:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

https://github.com/apache/cordova-plugin-statusbar

Ответ 4

Этот способ работал со мной:

На вашем mac или VM xcode выберите TARGETS- > Your app

Затем в меню INFO в CUSTOM iOS TARGET PROPERTIES добавьте новые свойства:

Строка состояния изначально скрыта → Затем установите значение YES.

Просмотр состояния панели управления на основе контроллера → Затем установите значение NO

Создайте, и у вас не должно быть строки состояния.

printscreen: http://prntscr.com/fg0jtf