ios 获取html标签高度,iOS开发总结-获取网页高度

本文详细介绍了在iOS开发中使用WKWebView时如何通过KVO监听`scrollView.contentSize`来实时获取并更新网页内容高度的问题。通过设置观察者并在观察者回调中调整WKWebView的frame,确保网页高度能完整显示。同时,文中提到了在页面加载完成时通知代理的方法,以实现更灵活的界面适配。
摘要由CSDN通过智能技术生成

前言

当时觉得这挺简单的,无论是获取WKWebView的ScrollView的内容高度还是调用JS,但是后面很容易出现网页高度获取不完的情况

解决思路

KVO监听scrollView.contentSize

实现

[self.webView addObserver:self forKeyPath:@"scrollView.contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:@"DJWebKitContext"];

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

if([keyPath isEqualToString:@"scrollView.contentSize"])

{

CGFloat webViewContentHeight = self.webView.scrollView.contentSize.height;

if (webViewContentHeight != 50) {

CGRect frame = self.webView.frame;

frame.size.height = webViewContentHeight;

self.webView.frame = frame;

[self.webView sizeToFit];

self.height = self.webView.maxY + 10;

// 刷新自身高度

if (self.delegate && [self.delegate respondsToSelector:@selector(mouoDiaryDetailHeaderViewWebDidFinish)]) {

[self.delegate mouoDiaryDetailHeaderViewWebDidFinish];

}

}

}

}

- (void)dealloc{

[self.webView removeObserver:self forKeyPath:@"scrollView.contentSize" context:@"DJWebKitContext"];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值