WKWebView使用注意事项(cell内嵌)

cell内嵌WKWebView时,有部分人通过代理中页面加载完成后调用的这个方法,如下


// 页面加载完成之后调用

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {

//    CGFloat scrollHeight = webView.scrollView.contentSize.height;

}

来获取wkwebview的内容高度来设置cell高度。往往发现返回的高度不对。

通过kvo观察这个webView.scrollView.contentSize,你会发现上面的代理执行的方法返回的WKWebView的content并没有被修改。

所以就不要和uiwebview一样用这个方法了。

直接从JS里拿吧~

[webView evaluateJavaScript:@"document.body.offsetHeight;"completionHandler:^(id _Nullable result,NSError *_Nullable error) {

//获取页面高度,并重置webview的frame

}];

还有一点需要注意:最好等到webview加载完成在内嵌cell。不然坑好多~

你可能感兴趣的:(WKWebView使用注意事项(cell内嵌))