cordova cordova-plugin-statusbar StatusBarOverlaysWebView 不工作

Posted

技术标签:

【中文标题】cordova cordova-plugin-statusbar StatusBarOverlaysWebView 不工作【英文标题】:cordova cordova-plugin-statusbar StatusBarOverlaysWebView not working 【发布时间】:2016-04-07 10:28:52 【问题描述】:

我添加了https://github.com/apache/cordova-plugin-statusbar 插件。现在设置

<preference name="StatusBarOverlaysWebView" value="false" />

仍然不起作用(false 和 true),它在 ios 7 中总是重叠。但是设置

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

工作正常,我可以使用不同的状态栏颜色。所以对我来说,插件看起来基本上可以工作。 有人知道我做错了什么吗?

谢谢! 干杯

【问题讨论】:

【参考方案1】:

尝试在 config.xml 中添加以下行:

<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#165769" /> <!--Your color value will go here-->
<preference name="StatusBarStyle" value="lightcontent" />

【讨论】:

我设法让它重新创建另一个科尔多瓦项目并重新添加我的文件。我还添加了颜色值,所以实际上我不是 100% 确定是什么解决了它,但它确实有效。所以我会把它标记为正确的答案。 :) 我遇到了同样的问题。我错过了“StatusBarStyle”首选项,无论我设置什么“StatusBarOverlaysWebView”,它总是会重叠。设置它开始工作的三个属性。 我一直在做这一切,但它仍然有一个带有白色字母的透明背景,这不是我想要的。 您可能还需要运行“cordova prepare ios”,清理 xcode 构建文件夹,再次构建并运行。 设置“StatusBarOverlaysWebView”修复了 Cordova 和状态栏渲染的几个问题。它还修复了较大 iPhone 屏幕底部出现白条的问题。【参考方案2】:

我找到原因了,你应该在你的html中添加插件js。

首先,您应该在 html 中包含“cordova.js”。

<script type="text/javascript" src="cordova.js"></script>

其次,您可以在文件夹./platforms/ios/platform_www 下找到platform_www。请将所有文件复制到您的www 文件夹中。

然后,你可以找到,它起作用了。

【讨论】:

我想您需要始终将 cordova.js 添加到索引中,否则它将无法正常工作。据我所知,platform/ios/platform_www 是在 cordova build ios / cordova run ios 上构建的。所以通常platform_www文件应该是www根目录中的那个。 这是为我解决的问题【参考方案3】:

我几乎崩溃并尝试了 Ric 的答案,我担心这将是解决问题的唯一方法。但经过几天又一次尝试,我终于让它像这样工作了:

# uninstall app from ipad
# close xcode
cordova plugin remove cordova-plugin-statusbar
cordova prepare
cordova clean ios
# open up xcode
# clean project in xcode
# run project from xcode onto ipad
# stop the app
# close xcode
cordova plugin add cordova-plugin-statusbar
# add preferences to config.xml
cordova prepare
cordova clean ios
# open up xcode
# clean project in xcode
# run project from xcode onto ipad

不要问我为什么会这样,这个插件我用了几十次都没有问题,但由于某种原因,在这个项目上搞糊涂了,但是上面的步骤能够解决它。

【讨论】:

【参考方案4】:

我已经完成了建议的一切。科尔多瓦只是没有反映我的设置。最后我采取了激烈的步骤,建议在其他地方也建议-

删除 ios 项目- 科尔多瓦平台rm ios --save

重新添加ios项目- cordova 平台添加 ios --save

请注意,这会导致 Xcode 8 对缺少团队签名规范感到非常兴奋。因此,您必须转到 Xcode 8 项目编辑器:TARGETS your-app, Signing- 并重新选择您的团队。然后一切都会结合在一起并发挥作用。

【讨论】:

以上是关于cordova cordova-plugin-statusbar StatusBarOverlaysWebView 不工作的主要内容,如果未能解决你的问题,请参考以下文章

cordova的插件怎么引用

Cordova 通知插件安装失败 (Cordova 3.6)

使用 cordova-ios 5 更新 Cordova 9

H5页面中如何调用cordova的插件?

cordova 使用啥浏览器

Cordova/Cordova.h file not found的解决方法