KVO监听WebView内容高度变化,同步父控件高度

不管是UIWebView还是WKWebView,都是key在webView初始化完成的时候添加KVO,用来监听webView的contentSize变化,添加KVO:

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

KVO的监听方法

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
    
    if ([keyPath isEqualToString:@"contentSize"]) {
        
        CGSize fittingSize = [_wvDetails sizeThatFits:CGSizeZero];
        _wvDetails.frame = CGRectMake(0, 0, Screen_Width, fittingSize.height);
        [_tvList reloadData];
        
    }
    
}

在退出当前页面的时候,记得一定要移除监听,不然就崩

- (void)dealloc{
    [_wvDetails.scrollView removeObserver:self forKeyPath:@"contentSize"];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 问题汇总 1、如何实现JavaScript与Objective-C间传值? 点击Webview中的图片,放大,需要...
    软件iOS开发阅读 901评论 0 0
  • 人的一生中,有很多遗憾的事,最遗憾的莫过于你爱他,他不爱你… 楔子:我叫欧阳静,我爸爸是欧阳集团的董事长.我妈妈是...
    韭菜味小姐姐阅读 370评论 0 1
  • 1.因为一直“想”你所以变得像你,连不知情的辅导员都说我那个语气特别像你。你觉得说“爱”太轻佻,那我就全部用“想”...
    总会变好阅读 332评论 0 0