UIWebView获取网页高度不准确问题

- (void)webViewDidFinishLoad:(UIWebView *)webView{
  float newSize = [[self.webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];
  CGRect rect=CGRectMake(0,0, self.frame.size.width, newSize);
  self.webView.frame=rect;
}

使用这句代码获取网页的高度,后来发现获取的高度会比实际的高度多一点

出现原因:webView在初始化的时候没有设置frame,直接用alloc init的方法去做的初始化,光想着获取完高度后去重新设置frame,这里就导致了获取到的高度不准确!

解决方法:初始化的时候,给webView设置frame,宽度为屏幕的宽度,高度设置为1即可!

- (UIWebView *)webView{
    if (!_webView) {
        _webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.frame.size.width, 1)];
        _webView.scrollView.scrollEnabled=NO;
        [_webView setScalesPageToFit:YES];
        _webView.delegate=self;
    }
    return _webView;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,752评论 1 9
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • 外教爷爷,美国人,来中国大概是有二十年了,花白的头发,胡子也是花白的,深深的眼眶,棕褐色的眼睛,背部微有些弯,但看...
    海棠1005阅读 320评论 0 3
  • 学会拒绝,越简单越好,我不会,我没有……千万别绕弯子解释半天,让对方觉得你亏欠了他,徒增出许多烦恼。明明是别人需求...
    吕明超阅读 127评论 0 0