我有一个全宽和高度的WKWebView自定义键盘。我已经通过wkWebView!.scrollView.scrollEnabled = false
禁用了滚动,但我仍然在双击WKWebView底部时出现了一个奇怪的滚动行为。这里是我尝试加载的简单网页的源代码:http://is.gd/gt8h2q(非常简单,只是一个div全屏,背景绿色和一行文本)。下面,一个GIF作为解释。这里是我创建WKWebView:在WKWebView上禁用双击滚动
class KeyboardViewController: UIInputViewController, WKScriptMessageHandler {
var wkWebView: WKWebView?
override func loadView() {
super.loadView()
let contentController = WKUserContentController()
contentController.addScriptMessageHandler(self, name:"callbackTestOne")
let config = WKWebViewConfiguration()
config.userContentController = contentController
self.wkWebView = WKWebView(frame:self.view.frame, configuration:config)
self.view = self.wkWebView!
}
override func viewDidLoad() {
super.viewDidLoad()
(...)
wkWebView!.scrollView.bounces = false
wkWebView!.scrollView.scrollEnabled = false
wkWebView!.scrollView.backgroundColor = UIColor(red:248, green:248, blue:248, alpha:1)
wkWebView!.scrollView.opaque = true
wkWebView!.scrollView.showsHorizontalScrollIndicator = false
wkWebView!.scrollView.showsVerticalScrollIndicator = false
wkWebView!.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal
}
(...)
仍然无法解决的问题...我发现了一个肮脏的方法来解决:在我本地加载的页面中,当滚动位置> 0时,我使用jQuery自动滚动到顶部。代码:'$(window).scroll(function (){if($(window).scrollTop()> 0){$(window).scrollTop(0);};});' – Beny
这是一个真正的问题。将WKWebView添加到iMessage应用程序或扩展时会发生同样的情况。 – quemeful