Белая строка состояния в iOS Phonegap?
как сделать верхнюю строку состояния полупрозрачной с белым текстом в Phonegap 3.1.0 для iOS7?
App отлично смотрится в мобильном Safari, но когда я пытаюсь запустить его в тексте Phonegap, верхняя панель является белой только при загрузке приложения, после чего она черная, независимо от того, какие настройки я устанавливаю в конфигурации проекта.
Прямо сейчас на веб-странице есть <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
, а "Стиль строки состояния" = "Черный прозрачный" в XCode... не помогает.
Помощь Pls!
Ответы
Ответ 1
Вы можете сделать это без каких-либо метатегов или редактировать что-либо в XCode.
Сначала установите плагин с помощью командной строки через CLI:
cordova plugin add cordova-plugin-statusbar
Затем вы можете использовать эти настройки для создания строки состояния (в config.xml):
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />
Это даст вам прозрачную панель в iOS 7 с белым текстом. Для других опций проверьте http://plugins.cordova.io/#/package/org.apache.cordova.statusbar
Ответ 2
Наконец, я нашел решение.
Убедитесь, что у вас есть следующее:
В вашем index.html есть следующий метатег:
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
В Xcode откройте [YourPrjectName].plist и добавьте следующие строки:
"Стиль строки состояния" = "Прозрачный черный стиль (альфа 0,5)" И
"Просмотр состояния строки состояния на основе контроллера" = "НЕТ"
Без второй строки внутри не будет работать (на самом деле это было проблемой в моем случае).
Ответ 3
если вы используете сборку phonegap, вы можете позвонить
StatusBar.styleLightContent();
https://github.com/phonegap-build/StatusBarPlugin
Ответ 4
Взгляните на приведенную ниже ссылку, надеясь, что это может вам помочь.
http://devgirl.org/2014/07/31/phonegap-developers-guid/
Ответ 5
Добавьте этот
function onDeviceReady() {
if (parseFloat(window.device.version) === 7.0) {
document.body.style.marginTop = "20px";
}
}
document.addEventListener('deviceready', onDeviceReady, false);
Ошибка строки состояния в iOS7
http://coenraets.org/blog/2013/09/phonegap-and-cordova-with-ios-7/
Ответ 6
Я решил, что более современный ответ может помочь кому-то здесь, это работает в кордове 3.7+ и iOS 8.x и отрицает необходимость в дополнительном плагине.
В файле проекта plist убедитесь, что "Строка состояния изначально скрыта" и "Просмотр состояния панели состояния на основе контроллера" установлены на "НЕТ"
Затем в MainViewController.m внутри - (void)viewDidLoad
добавьте:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
или
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
для белого или черного текста в строке состояния.
В качестве альтернативы, чтобы полностью скрыть, установите оба атрибута plist выше YES, которые, похоже, работают для его скрытия.