不多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設(shè)置了偏移。然后在scrollView上添加了頭部視圖恃锉。
PS:但是網(wǎng)頁加載的時(shí)候棺牧,scrollViewDidScroll會(huì)走倆遍,第一次的scrollView.contentOffset是不準(zhǔn)確的犹菱。這樣導(dǎo)致視覺效果很差拾稳。webView會(huì)自己跳一下~
- 解決方案:先給webView的alpha設(shè)置了0的透明度,然后在網(wǎng)頁加載結(jié)束的時(shí)候?qū)lpha設(shè)置回1~代碼如下:↓
// 頁面加載完成之后調(diào)用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
// }];
[UIView animateWithDuration:0.3 animations:^{
webView.alpha = 1;
}];
}