Ответ 1
Как из Phonegap 3 вы можете настроить plist файлы через config.xml.
код:
<gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true">
<false/>
</gap:config-file>
Можно ли избавиться от строки состояния в iOS7 при использовании Phonegap Build 3.1? Я могу удалить строку состояния при создании локально в Xcode, но как только я попробую создать Phonegap Build, он снова появится.
Я не хочу, чтобы строка состояния удаляла вид приложения 20px, что сейчас происходит.
Как из Phonegap 3 вы можете настроить plist файлы через config.xml.
код:
<gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true">
<false/>
</gap:config-file>
Добавьте эту функцию в файл MainViewController.m:
//fix not hide status on ios7
- (BOOL)prefersStatusBarHidden
{
return YES;
}
Обычно вы редактируете файл info.plist и добавляете этот ключ:
<key>UIViewControllerBasedStatusBarAppearance</key><false/>
Но поскольку вы не можете сделать это при сборке, вам нужно будет добавить плагин:
https://github.com/phonegap-build/StatusBarPlugin/blob/master/README.md
И затем:
StatusBar.hide();
щелкните файл "projectname-Info.plist" в корневой папке проекта XCode, вы увидите с пользовательским интерфейсом, в котором вы можете увидеть записи ключей и значений, вы можете добавлять/удалять ключи, добавьте новый ключ, просто найдите "Строка состояния изначально скрыта" и установите "ДА" в качестве значения.
Я использую следующее в файле config.xml, который полностью удаляет строку состояния, проверенную на iOS 7.0.3 и 7.0.4, Phonegap версии 3.0.0, если это помогает.
<preference name="fullscreen" value="true" />
С Кордовой мне пришлось сделать 2 вещи.
Когда я создаю с XCode, я устанавливаю в Target- > Statusbar style значение → HIDDEN это скроет строку состояния при запуске на вашем заставке.
Вам нужно скрыть это также на устройстве, готовом к подключению. В противном случае он снова появится. Для этого установите плагин:
cordova plugin add org.apache.cordova.statusbar
и назовите это на deviceready:
StatusBar.hide();
Просто установите плагин состояния (я использую Кордову 5.x):
cordova plugin add [email protected]
В вашем коде просто указывается его глобальная переменная и используйте .hide():
StatusBar.hide()
Это сработало для меня:
<preference name="fullscreen" value="true" />
Я работаю над Android.
Я ответил на это для удаления строки состояния в целом в вашем предыдущем вопросе
Существенная часть:
Я получил это, чтобы прекрасно работать в Cordova 3.6 + iOS 7.1. И учитывая, что у iOS 7 и 8 каждый из них имеет 50% доли рынка, этого решения должно быть достаточно.
Плагин Я использую: org.apache.cordova.statusbar
Вместо использования StatusBar.hide()
я использовал:
var hideSb = function(){
// StatusBar.hide;
cordova.exec(null, null, 'StatusBar', 'hide', ['Ehi', 'You']);
};