iOS - WKWebView 添加头部视图HeadVIew~

没有妹纸你们是不会进来的!

不多BB直接上代码~~

    CGFloat height = _headView.height;

     _webView.scrollView.contentInset= UIEdgeInsetsMake(height,0,0,0);
    
    [_webView.scrollView addSubview:_headView];

    NSString *url = [NSString stringWithFormat:BaseUrl, _myModel.detailUrl];

    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
    
    _webView.alpha = 0;
  • 原理主要是给WKWebview的scrollView设置了偏移。然后在scrollView上添加了头部视图。

  • PS:但是网页加载的时候,scrollViewDidScroll会走俩遍,第一次的scrollView.contentOffset是不准确的。这样导致视觉效果很差。webView会自己跳一下~

  • 解决方案:先给webView的alpha设置了0的透明度,然后在网页加载结束的时候将alpha设置回1~代码如下:↓
// 页面加载完成之后调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
//    }];
    [UIView animateWithDuration:0.3 animations:^{
        webView.alpha = 1;
    }];
}

你可能感兴趣的:(iOS - WKWebView 添加头部视图HeadVIew~)