UIwebview 加载完成事件页面完成前,怎么获取webView内容的高度

「小提示:图片加载慢就多刷新刷新哦!」
UIWebView根据加载的内容自动适应高度
怪哈哈,ACG游戏,ACG和谐区,足控福利,里番漫画,里番动漫,里番库,里番吧,本子库
-&(void)webViewDidFinishLoad:(UIWebView&*)webView{&&&&CGFloat&webViewHeight&=&0.0f;&&&&if&(self.subviews.count&&&0)&{&&&&&&&&UIView&*scrollerView&=&[self.subviews objectAtIndex:0];&&&&&&&&if&(scrollerView.subviews.count&&&0)&{&&&&&&&&&&&&UIView&*webDocView&=&scrollerView.subviews.lastObject;&&&&&&&&&&&&if&([webDocView isKindOfClass:[NSClassFromString(@&UIWebDocumentView&)class]])&&&&&&&&&&&&&&&&webViewHeight&=&webDocView.frame.size.height;&&&&&&&&}&&&&}}
怪哈哈,ACG游戏,ACG和谐区,足控福利,里番漫画,里番动漫,里番库,里番吧,本子库
向大家推荐一个好玩有趣的微信公众号 ~ ~
注意啦!!!注意啦!!!
二次元★ACG游戏·美女控·技术宅资源分享社区★ /
怪哈哈,ACG游戏,ACG和谐区,足控福利,里番漫画,里番动漫,里番库,里番吧,本子库
本文链接地址:
网友评论 (0 条评论)
:) &微信头像(这里有超级棒棒哒的微信头像哦~~)
:) &美女校花(各种乱七八糟的校花都在这里~~)
:) &美女自拍(好多漂亮美眉在这里扑打扑打~~)
:) &搞笑图文(绝对让你笑掉大牙的内涵段子~~)
本站文字和图片均为严格审查筛选收藏,均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的照片,请来信告知,我们将及时撤销相应文字和图片。
业务合作请加QQ:
Copyright @ 怪哈哈网 All Rights Reserved.UIWebView 加载页面完成前,怎么获取webView内容的高度_百度知道主题 : UIWebView 加载页面完成前,怎么获取webView内容的高度?
级别: 新手上路
UID: 123769
可可豆: 55 CB
威望: 43 点
在线时间: 245(时)
发自: Web Page
来源于&&分类
UIWebView 加载页面完成前,怎么获取webView内容的高度?&&&
我知道webViewDidFinishLoad:后怎么获取UIWebView内容的高度。但是现在想在加载页面完成前获取webView 的高度。不知道哪位大侠知道吗?麻烦告诉一下!感激不尽!
级别: 精灵王
发帖: 1456
可可豆: 1589 CB
威望: 1593 点
在线时间: 3343(时)
发自: Web Page
写稿完成后,我知道我的总稿费是多少,那么怎么在写搞前知道我将要获得的总稿费呢?麻烦谁解答一下。
级别: 新手上路
UID: 123769
可可豆: 55 CB
威望: 43 点
在线时间: 245(时)
发自: Web Page
回 1楼(noah1985) 的帖子
webVIew在加载html代码完成前,已经把文字和图片的框架加载好了,但是它总是要把所有html中的图片都下载完了才回调webViewDidFinishLoad:方法。我现在纠结在这个地方。如何能在加载图片的时候就获取整体框架的高度?
级别: 侠客
UID: 376541
可可豆: 278 CB
威望: 278 点
在线时间: 445(时)
发自: Web Page
是不是可以获取到html内容的高度 .scrollHeight?
级别: 侠客
UID: 286140
可可豆: 236 CB
威望: 219 点
在线时间: 118(时)
发自: Web Page
- (void)webViewDidFinishLoad:(UIWebView *)webView{&&&&&&&&NSInteger height = [[webView stringByEvaluatingJavaScriptFromString:@&document.body.offsetH&] intValue];}
级别: 新手上路
可可豆: 64 CB
威望: 14 点
在线时间: 57(时)
发自: Web Page
这个目前不可能,别倒腾了,也别找了
级别: 新手上路
UID: 515300
可可豆: 46 CB
威望: 45 点
在线时间: 120(时)
发自: Web Page
我出现了这个问题;在iOS8.0以上没问题,在iOS7.1上,所有的js都没有效果了,获取的高度也为0,改变字体什么的都不起作用,这个是什么原因,求大神告知
级别: 圣骑士
UID: 533249
可可豆: 1144 CB
威望: 886 点
在线时间: 201(时)
发自: Web Page
进来学习,跟js交互获取不到内容吗?
级别: 新手上路
UID: 528350
可可豆: 10 CB
威望: 8 点
在线时间: 38(时)
发自: Web Page
回 2楼(chenyongwei) 的帖子
楼主这个问题怎么处理的,我也想在webview内容高度确定但图片未加载完时获取高度。怎么解决?
I was a young writer and I wanted to take off.
级别: 新手上路
UID: 523132
可可豆: 288 CB
威望: 276 点
在线时间: 382(时)
发自: Web Page
解决了吗?
关注本帖(如果有新回复会站内信通知您)
论坛技术问题应该发布到? 正确答案:CocoaChina问答
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版一言不合就上代码:(在web的delegate方法中添加kvo观察者对象)
#pragma mark UIWebViewDelegate
-(void)webViewDidFinishLoad:(UIWebView *)webView
& & 其实这快最好再初始化一下web的高度,加载多个web的时候可能会有点用
& & //_webView.frame = CGRectMake(0, 0, _scrollView.frame.size.width, WEB_VIEW_HEIGHT);
& & //计算web加载完后的高度,刷新界面高度
& & [webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
&& & & & & & & & & & & & & & context:nil];
第二步:在回调方法里修改就好
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary&NSString *,id& *)change context:(void *)context {
& & CGSize websize = [[change objectForKey:@"new"] CGSizeValue];
& & _webView.frame = CGRectMake(0, 0, _scrollView.frame.size.width, websize.height);
别忘记在delloc里清除掉当前对象的监听
阅读(...) 评论()完美方案——iOS的WebView自适应内容高度 - 推酷
完美方案——iOS的WebView自适应内容高度
/////////////////////////////初始化,self.view是父控件/////////////////////////////////
_webView = [[UIWebView alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, 0)];
_webView.delegate =
_webView.scrollView.bounces = NO;
_webView.scrollView.showsHorizontalScrollIndicator = NO;
_webView.scrollView.scrollEnabled = NO;
[_webView sizeToFit];
///////////////////////////////设置内容,这里包装一层div,用来获取内容实际高度(像素),htmlcontent是html格式的字符串//////////////
NSString * htmlcontent = [NSString stringWithFormat:@&&div id=\&webview_content_wrapper\&&%@&/div&&, htmlcontent];
[_webView loadHTMLString:htmlcontent baseURL:nil];
////////////////////////////////delegate的方法重载////////////////////////////////////////////
- (void)webViewDidFinishLoad:(UIWebView *)webView
//获取页面高度(像素)
NSString * clientheight_str = [webView stringByEvaluatingJavaScriptFromString: @&document.body.offsetHeight&];
float clientheight = [clientheight_str floatValue];
//设置到WebView上
webView.frame = CGRectMake(0, 0, self.view.frame.size.width, clientheight);
//获取WebView最佳尺寸(点)
CGSize frame = [webView sizeThatFits:webView.frame.size];
//获取内容实际高度(像素)
NSString * height_str= [webView stringByEvaluatingJavaScriptFromString: @&document.getElementById('webview_content_wrapper').offsetHeight + parseInt(window.getComputedStyle(document.getElementsByTagName('body')[0]).getPropertyValue('margin-top'))
+ parseInt(window.getComputedStyle(document.getElementsByTagName('body')[0]).getPropertyValue('margin-bottom'))&];
float height = [height_str floatValue];
//内容实际高度(像素)* 点和像素的比
height = height * frame.height /
//再次设置WebView高度(点)
webView.frame = CGRectMake(0, 0, self.view.frame.size.width, height);
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致}

我要回帖

更多关于 webview 加载完成监听 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信