美文网首页iOS备忘录iOS 技术点Objective-c
iOS UIWebView 获取内容实际高度,关闭滚动效果

iOS UIWebView 获取内容实际高度,关闭滚动效果

作者: DestinyFighter_ | 来源:发表于2015-10-29 10:38 被阅读14413次

这几天改需求,要求将 UIWebView 嵌套在 UIScrollView 里,由 UISCrollView 控制滚动,需要使 UIWebView 的高度同内容高度一致,网上搜索的到代码:

CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];

这段代码是没有效果的,body 获取到的 offsetHeight,为显示区域的高度,因此修改如下:

首先遵守协议并设置代理:

self.myWebView.delegate = self;

self.headerView.frame = CGRectMake(0, 0, 375, 150);

self.myScrollView.frame = CGRectMake(0, 0, 375, 667);

在代理方法 - (void)webViewDidFinishLoad:(UIWebView *)webView 中获取高度:

CGFloat height = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue];

改变 webView 的高度

self.myWebView.frame = CGRectMake(0, 150, 375, height);

关闭 webView 的滚动

UIScrollView *tempView = (UIScrollView *)[self.myWebView.subviews objectAtIndex:0];

tempView.scrollEnabled = NO;

改变 ScorllView 的高度

self.myScrollView.contentSize = CGSizeMake(375, height + self.headerView.frame.size.height);

搞定.

相关文章

网友评论

  • 49fa99b392dc:感恩,解决了我的问题
  • 阿尔法代码狗:我们新需求是用web显示一大堆商品的图片,类似淘宝下面的图文介绍,这个怎么计算高度,,图片很多
    牵着蜗牛走的我:兄弟如何解决的?
  • oldDevil:有很多图片的话这种方法就gg了吧
    牵着蜗牛走的我:兄弟如何解决的?
    阿尔法代码狗:楼主在不
    8286134ea54c:大兄弟,我也是这样的,你有什么解决的方法吗
  • a7c6cec64788:楼主 初始高度给的是多少啊
  • Ryan文濤:楼主,假如遇到scrollView需要左右滑动的呢?
  • 明天请给我好消息:为什么我在上面设置多少,下面获取的高度就是多少
  • 10000Hours:我在代理方法里使用这个方法CGFloat height = [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];获取高度,但是高度不正确,老是会相差一段高度,有时获得的高度还不够,楼主知道这会是什么情况造成的嘛
    洱州:@10000Hours 我也遇到这样的问题了,请求具体你是怎么设置的啊?
    10000Hours:@Marvin__Hu 现在问题已经解决了,webview在loadHTMLString的时候把baseURL设置成了nil的原因,改成了NSBundle的路径就好了
    928c73195e7f:@10000Hours 是因为HTML缩放导致的;只需要获得HTML宽高比例,然后对webview高度进行设置
  • f480a0fb0fa5:在webViewDidFinish中取webview的contentSize来重新设置scrollView的contentSize也能达到目的啊
    一生信仰:@cimichen 这种方法一般情况下是可以,但是如果网页有展开按钮(这种情况只获取网页未展开时的高度),或者webView的高度(给个100这样小的高度)小于网页内容高度,所获取的高度很不准确。

本文标题: iOS UIWebView 获取内容实际高度,关闭滚动效果

本文链接:https://www.haomeiwen.com/subject/jkffhttx.html