我正在使用 jQuery Mobile 和 Phonegap 实现一个 webapp。我缺少的一件事是:当点击状态栏时,应用程序应该滚动到顶部。
我已经看到,使用 Objective C 必须指示必须在点击时滚动到顶部的视图。是否可以使用 Javascript/Phonegap 做类似的事情?
22.9.2016 更新
插件 ID 已更改,请使用以下命令安装:
cordova plugin add cordova-plugin-statusbar
在 iOS 10.0 模拟器中使用 cordova-6.3.1 cordova-ios-4.2.2 和运行 9.3.5 的 iPhone 6s Plus 进行测试。
官方的状态栏插件有这个功能。 https://github.com/apache/cordova-plugin-statusbar
安装:
cordova plugin add org.apache.cordova.statusbar
在您的 javascript 中:
window.addEventListener('statusTap', function() {
//scroll-up or do whatever you want
});
如果您在 phonegap 应用程序中显示的内容大于 webview 的范围,则滚动会自动发生。
否则 - 例如,如果您只是使用 -webkit-overflow-scrolling 滚动 div - 您需要使用此处找到的解决方案: 如何检测状态栏中的触摸
在 scrollViewShouldScrollToTop 你需要调用
[theWebView stringByEvaluatingJavaScriptFromString:"should_scroll_to_top"];
should_scroll_to_top 是你的 js 中的一个普通函数。