对于wkwebview网页高度计算的补充/网页高度计算的另一种简单方法

http://blog.csdn.net/flg1554112450/article/details/77334069

在这篇文章中,,提到计算网页高度的方法是监听,


[self.newsWebView addObserver:self forKeyPath:@"scrollView.contentSize"options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOldcontext:@"DJWebKitContext"];


#pragma mark 监听网页的内容高度

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

    if (!self.newsWebView.isLoading) {

        if([keyPath isEqualToString:@"scrollView.contentSize"]){

            self.newsWebView.frame = CGRectMake(00WIDTH,self.newsWebView.scrollView.contentSize.height);

        }

    }

}


当如果监听出现了问题,,比如在plus机型上不知什么原因 页面发生抖动,,,此时就要换一种方法。。这种方法更简单一些

#pragma mark 网页加载完成
- ( void )webView:( WKWebView *)webView didFinishNavigation:( WKNavigation *)navigation{
    [ self performSelector : @selector (loadHeight) withObject : self afterDelay : 1 ];
}
一定要在1s延时之后 才能正确获取网页高度 ,,,虽然有一秒的延时,,但不影响正常的时候,,可以尝试把时间缩短 也应该是可以的
- ( void )loadHeight{
    CGFloat height = 0.0 ;
    [ self . detailWebView sizeToFit ];
    height = self . detailWebView . scrollView . contentSize . height ;
    CGRect webFrame = self . detailWebView . frame ;
    webFrame. size . height = height;
    self . detailWebView . frame = webFrame;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值