使用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(@"結束加載");
}