使用UIWebView加载一篇文章,往往要在文章的底部添加一些其他控件,计算准webView的内容大小就显得很重要了,之前也找过很多方法,最后找到一种计算比较准确的贴出来
在webview的代理方法里面:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat currentY=0.0f;
// 关键代码
currentY = currentY + _webView.scrollView.contentSize.height + 15;
//内容 Content
CGFloat contentLeftSpace = SIZETONORMAL(54);
CGFloat contentWidth = SCREEN_WIDTH - contentLeftSpace * 2;
_webView.frame=CGRectMake(contentLeftSpace,100,contentWidth,currentY);
NSLog(@"contentSize.height=======%f",webView.scrollView.contentSize.height);
}
计算WKWebview内容的高度
// 页面加载完成之后调用 此方法会调用多次
- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation {
[CXMProgressView dismissLoading];
// 注意这后面的分号不能丢
[webView evaluateJavaScript:@"document.body.offsetHeight;" completionHandler:^(id _Nullable any, NSError * _Nullable error) {
NSString *heightStr = [NSString stringWithFormat:@"%@",any];
NSLog(@"heightStr===%@",heightStr);
CGFloat height = [heightStr floatValue];
// CGSize fittingSize = [_webView sizeThatFits:CGSizeZero];
NSLog(@"height===%lf",height);
}];
NSLog(@"结束加载");
}