一言不合就上代码:(在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里清除掉当前对象的监听

 

相关文章:

  • 2022-12-23
  • 2022-02-11
  • 2022-12-23
  • 2022-12-23
  • 2021-04-21
  • 2021-09-25
  • 2021-08-28
  • 2022-12-23
猜你喜欢
  • 2021-11-11
  • 2022-01-07
  • 2022-12-23
  • 2021-11-18
  • 2020-03-30
  • 2021-11-30
相关资源
相似解决方案