【发布时间】:2014-10-07 08:19:29
【问题描述】:
我正在构建一个 Cordova 应用程序,并在我的 iOS 6 设备(带 iOS 6.1.6 的 iPod Touch)上对其进行测试。出于某种原因,WebView 可以额外滚动 20px,这似乎弥补了屏幕顶部的 20px 状态栏。这有时会导致可滚动的 WebView 获得焦点,本质上导致“没有”在用户眼中滚动,而不是允许我的应用程序中的可滚动 divs 滚动。我已经尝试了许多与 config.xml 更改、插件等有关的修复,但没有任何区别,我在下面概述了这一点。
-
试过manually hiding the status bar,没有效果。
// config.xml: <plugin name="org.apache.cordova.statusbar" version="0.1.7" /> <feature name="StatusBar"> <param name="ios-package" value="CDVStatusBar" /> </feature> // index.js (ondeviceready): window.StatusBar && window.StatusBar.hide(); -
尝试强制状态栏覆盖 webview,本质上使应用程序的高度为 480 像素(而不是 460 像素):
// config.xml: <plugin name="org.apache.cordova.statusbar" version="0.1.7" /> <preference name="StatusBarOverlaysWebView" value="true" /> -
尝试将状态栏强制为not overlay the webview:
// config.xml: <plugin name="org.apache.cordova.statusbar" version="0.1.7" /> <preference name="StatusBarOverlaysWebView" value="false" /> <preference name="StatusBarBackgroundColor" value="#000000" /> <preference name="StatusBarStyle" value="lightcontent" /> -
尝试将 body 的 margin-top 偏移 20px,这只是增加了额外的 20px 死空白:
// index.css: body { margin-top: 20px; } -
尝试将应用设置为fullscreen,这实际上对应用没有任何影响:
// config.xml: <preference name="Fullscreen" value="true" /> 我什至使用 Safari 检查器完全删除了
bodyDOM 节点,它仍然滚动 20px,告诉我它与 HTML 无关,与 Cordova 的 WebView 实现无关。
有人对此有解决方案吗?我不可能是唯一遇到这种情况的人。
【问题讨论】:
标签: ios cordova ios6 scroll statusbar