tableView 头部webView 高度获取

来源:互联网 发布:美呼软件怎么样 编辑:程序博客网 时间:2024/06/05 02:03

项目中需要场景:头部后端返回h5语句,下面各种cell;
解决方案:头部使用webView,但高度是跟随h5语句实时改变。
首先遵循webView的代理:
在webViewDidFinishLoad方法里面实现:

- (void)webViewDidFinishLoad:(UIWebView *)webView {    CGSize size = [webView sizeThatFits:CGSizeZero];    webView.frame = CGRectMake(0, 0, size.width, size.height);    self.headView.frame = CGRectMake(0, 0, SCREEN_WIDTH, size.height);    self.table.tableHeaderView = self.headView;}

但如果是一个链接的话,有大量图片情况下,就需要给webView的contentSize加监听实现了,因为加载完webView,但图片并不一定加载出来,:

       [_scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {    if ([keyPath isEqualToString:@"contentSize"]) {        CGSize size = [webView sizeThatFits:CGSizeZero];    webView.frame = CGRectMake(0, 0, size.width, size.height);    self.headView.frame = CGRectMake(0, 0, SCREEN_WIDTH, size.height);    self.table.tableHeaderView = self.headView;    }}

记得dealloc里面移除监听。到此就结束了。至少是实现了我项目的需求。

原创粉丝点击