离子状态栏问题IOS

时间:2017-03-24 01:18:28

标签: android ios cordova ionic-framework statusbar

我正在使用状态栏插件:

  

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

在我的config.xml中我有以下设置:

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

<feature name="StatusBar">
   <param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>

在我的app.js中,我有这个:

if (window.StatusBar) {
    if (ionic.Platform.isAndroid()) {
        StatusBar.backgroundColorByHexString("#2DBE60");
    } else {
        StatusBar.styleLightContent();
    }
}

它适用于Android,但在IOS中,如果我将StatusBarOverlaysWebView设置为true,则视图位于状态栏后面,这不是我想要的。如果我将StatusBarOverlaysWebView设置为false,它可以工作,但问题是当转换到另一个时,状态栏会变黑并持续几秒钟,然后再次变为白色。

如何设置它以使顶部状态栏为白色,即使在IOS上的页面之间导航时也保持这种状态。

1 个答案:

答案 0 :(得分:0)

您尝试使用同一插件的statusBarInstace.hide()方法吗?

在一种情况下,我不得不在正在显示的页面的构造函数中的platform.ready函数中编写以下代码。

platform.ready()。then(()=> statusbar.hide());

有时,您可能需要将以上代码包装在setTimeout函数中,以导致执行延迟。

祝你好运