iOS 计算UIWebView的内容大小

2017-03-22  本文已影响0人  天明天

使用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(@"结束加载");
   
}
上一篇 下一篇

猜你喜欢

热点阅读