web-dev-qa-db-ja.com

iOS Phonegapの白いステータスバー?

phonegap 3.1.0 for iOS7でトップステータスバーを白いテキストで半透明にする方法は?

アプリはモバイルSafariで問題なく表示されますが、Phonegapで実行しようとすると、アプリの読み込み中のみトップバーのテキストが白になり、その後はプロジェクトの構成で設定した設定に関係なく黒になります。

今は<meta name="Apple-mobile-web-app-status-bar-style" content="black-translucent"> Webページ内& 'ステータスバースタイル' = 'XCodeの'黒半透明 '...は役に立ちません。

Plsは助けます!

11
user3007104

これは、メタタグを使用したり、XCodeで何も編集したりせずに実行できます。

まず、CLIを介してステータスバープラグインをインストールします。

cordova plugin add cordova-plugin-statusbar

次に、これらの設定を使用して、ステータスバーのスタイルを設定できます(config.xml内)。

<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />

これにより、iOS7で白いテキストの透明なバーが表示されます。その他のオプションについては、チェックアウトしてください http://plugins.cordova.io/#/package/org.Apache.cordova.statusbar

25
rickdmer

最後に、私は解決策を見つけました。

次のものがあることを確認してください。index.htmlに次のメタタグがあります。

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

Xcodeで、[YourPrjectName] .plistを開き、次の行を追加します。

"ステータスバースタイル" = "透明な黒のスタイル(0.5のアルファ)" AND
"コントローラーベースのステータスバーの外観を表示する" = "いいえ"

2行目がないと機能しません(実際、私の場合はそれが問題でした)。

10
user3007104

phonegap buildを使用する場合は、電話をかけることができます

StatusBar.styleLightContent();

https://github.com/phonegap-build/StatusBarPlugin

2
Leo Chen

以下のリンクをご覧ください。これがお役に立てば幸いです。

http://devgirl.org/2014/07/31/phonegap-developers-guid/

1
Gilana

手遅れかもしれませんが、同じ質問を持つ他の誰かが以下のプラグインをインストールすることでこれを解決するかもしれません。

cordova plugin add cordova-plugin-disable-ios11-statusbar --save

次に、アプリをビルドして実行すると、問題が解決します

1

これを追加

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/

0
Ved

より最新の回答がここの誰かを助けるかもしれないと私は考えました、これはcordova3.7 +とiOS8.xで動作し、追加のプラグインの必要性を否定します。

プロジェクトのplistファイルで、「ステータスバーが最初は非表示になっている」と「コントローラーベースのステータスバーの外観を表示する」が両方とも「NO」に設定されていることを確認します。

次に、MainViewController.mの- (void)viewDidLoad内に次を追加します。

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

または

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

ステータスバーの白または黒のテキストの場合。

または、完全に非表示にするには、上記の両方のplist属性をYESに設定します。これは、非表示にするために機能しているようです。

0
OliverJ90