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。不然坑好多~