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里清除掉当前对象的监听

 

posted @ 2016-07-12 15:21  iOS_XL_NSArray  阅读(1371)  评论(0编辑  收藏  举报