当WKWebView的内容发生变化时,我试图让它自动向下滚动。我将这个函数添加到我的WKNavigationDelegate
中,它是NSViewController
的一个子类
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("Finished loading web view.")
webView.scrollToEndOfDocument(self)
}
它崩溃了:
-[WKWebView scrollToEndOfDocument:]: unrecognized selector sent to instance 0x6080001a07e0
我想self
不是我应该传递给scrollToEndOfDocument
的东西。我还尝试传递webView
或nil
,结果是相同的。我应该传递什么值?
注:我试过self
是因为苹果的文档说:
声明 func scrollToEndOfDocument(_发件人:有吗?) 参数 发件人 通常调用此方法的对象。
发布于 2017-01-10 14:15:26
您可能必须通过JavaScript来完成:
let script = "window.scrollTo(0, document.body.scrollHeight)"
webView.evaluateJavaScript(script)
这是给老派WebView的;留给后人的:
尝试在WebView的主框架的文档视图中调用scrollToEndOfDocument::
webView.mainFrame.frameView.documentView.scrollToEndOfDocument(nil)
(你作为发送者传递的内容不应该重要,对你所看到的错误没有任何影响。)
https://stackoverflow.com/questions/41567715
复制相似问题