Cordova 和 iOS 8:隐藏状态栏

Posted

技术标签:

【中文标题】Cordova 和 iOS 8:隐藏状态栏【英文标题】:Cordova and iOS 8 : the statusbar is hidden 【发布时间】:2014-11-14 20:11:43 【问题描述】:

我正在为 ios 8 更新基于 Cordova 的应用程序。我注意到状态栏存在问题。

第一次启动后状态栏位置正确。但是如果我关闭应用程序并再次打开它,状态栏就会消失,所以我的应用程序屏幕顶部有一个 20 像素的空白间隙。

我在状态栏的代码中使用的是:

    if ( mobileOS == 'iOS' && Number( mobileOSver.charAt(0) ) >= 7 ) 
        document.getElementsByTagName('body')[0].className+=' fix-ios-7-statusbar';
      

类 fix-ios-7-statusbar 只是在标题中添加一个 padding-top:20px。这在 iOS 7 中运行良好,但在 iOS 8 中,如果我关闭应用程序,状态栏会隐藏起来。

请帮帮我。

【问题讨论】:

【参考方案1】:

我使用状态栏插件。 iOS8 中存在问题(请参阅here),但最新的 git commit 为我修复了这些问题。试一试。

cordova plugin add https://github.com/apache/cordova-plugin-statusbar.git#5658e7548c813bf7d6102eea4eaa7726b727b18e

我的 config.xml 有这个:

    <preference name="StatusBarOverlaysWebView" value="false" />
    <preference name="StatusBarBackgroundColor" value="#9BB06B" />

【讨论】:

以上是关于Cordova 和 iOS 8:隐藏状态栏的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 在显示初始屏幕期间隐藏状态栏

UIImagePickerController 隐藏状态栏 iOS 8

从PhoneGap Camera API返回时如何隐藏iOS7状态栏?

如何在 iOS 8 中以编程方式隐藏状态栏 [重复]

Swift/iOS 8,当 prefersStatusBarHidden() 设置为 true 时,状态栏不隐藏

隐藏导航栏时隐藏状态栏 - SWIFT iOS8