2013-11-19 2 views
11

Как сделать верхнюю строку состояния полупрозрачной с белым текстом в Phonegap 3.1.0 для iOS7?Белая строка состояния в iOS Phonegap?

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

Прямо сейчас есть <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> на веб-странице & 'Status Bar Style' = 'Black Translucent' в XCode ... не помогает.

Помощь Pls!

ответ

0

Добавить один

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/

+1

Спасибо, но это не то, чего я хочу достичь. Я хочу, чтобы верхняя панель была: 1. ** полупрозрачная **, поэтому верхняя панель будет «того же цвета», что и все под ней; 2. ** с белым шрифтом ** ... У меня есть оба, когда я запускаю свое приложение в Safari ... Но когда я запускаю его в PhoneGap, цвет шрифта верхнего бара ** черный **. Как сделать это ** белым **? – user3007104

+0

Попробуйте это может быть помощь 1) http://alexvanderzon.com/metatags/ (2) http://maximilianhoffmann.com/article/building-ios-web-apps/ (3) http: //www.mobilexweb. com/blog/safari-ios7-html5-problems-apis-review – Ved

10

наконец, я нашел решение.

Убедитесь, что вы следующее: На вашем index.html имеют следующий мета-тег:

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

В Xcode, откройте [YourPrjectName] .plist & оных следующие строки:

«Статус bar style "=" Прозрачный черный стиль (альфа 0,5) "И
" Просмотр состояния панели состояния контроллера "=" НЕТ "

Без второй строки внутри не будет работать (на самом деле, это было проблемой в моем случае).

+3

Не работает для меня, к сожалению - статус-бар по-прежнему прозрачен с черным текстом –

+0

работал для меня (телефонная книга 3.3.0) –

+0

Да, разрешает белую строку состояния после выполнения этого, чтобы показать строку состояния отлично в iOS 7: http://stackoverflow.com/a/18886468/706751 – tylerl

25

Вы можете сделать это без каких-либо мета-теги или редактировании что-нибудь в XCode.

Сначала установите STATUSBAR плагин через 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

+1

Это должен быть рекомендованный ответ, который легче поддерживать. – sradforth

+2

Все плагины были переименованы, поэтому теперь это должен быть плагин cordova add cordova-plugin-statusbar'. –

+1

'blacktranslucent' не работал для меня, но' default' сделал, а statusbar стал черным полупрозрачным –

0

Я полагал, что до более позднего времени ответа может помочь кому-то здесь, это работает в Кордове 3.7+ и IOS 8.x и исключает необходимость дополнительного плагина.

В файле Plist вашего проекта убедитесь, что «Строка состояния изначально скрыты» и «Вид на базе контроллера в строке состояния внешний вид» оба устанавливаются на «NO»

Затем в MainViewController.m, внутри - (void)viewDidLoad оных :

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES]; 

или

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; 

для белого или черного текста в строке состояния.

В качестве альтернативы, чтобы скрыть полностью, установите оба атрибута plist выше на YES, что, похоже, работает для его скрытия.

Смежные вопросы