iOS开发,获取动态web页面的高度
一言不合就上代码:(在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里清除掉当前对象的监听