gpt4 book ai didi

wkwebview - 如何计算WKWebView的内容高度?

转载 作者:行者123 更新时间:2023-12-02 11:26:43 34 4
gpt4 key购买 nike

对于UIWebView,我们可以通过以下方式获取内容高度:

[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]

但是WKWebView没有此方法,并且webView.scrollView.contentSize.height不正确。
(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
}

感谢您的帮助!

最佳答案

我用KVO解决了这个问题。

首先,为WKWebView的scrollView的contentSize添加addObserver,如下所示:

addObserver(self, forKeyPath: "webView.scrollView.contentSize", options: .New, context: nil)

接下来,接收如下更改:
override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
if keyPath == "webView.scrollView.contentSize" {
if let nsSize = change[NSKeyValueChangeNewKey] as? NSValue {
let height = nsSize.CGSizeValue().height
// Do something here using content height.
}
}
}

轻松获取webview的内容高度。

不要忘记删除观察者:
removeObserver(self, forKeyPath: "webView.scrollView.contentSize", context: nil)

我把这行写在 deinit中。

关于wkwebview - 如何计算WKWebView的内容高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767786/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com