WKWebView 设置webView 有毛玻璃效果
2017-07-16 本文已影响86人
怎样m
- 第一种办法
self.webView.scrollView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);
是的,上面的方法在UIWebView中没毛病,可是在WKWebView中,就产生了刷新时页面跳动的bug。
self.webView.scrollView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);
//史诗级神坑,为何如此写呢?参考https://opensource.apple.com/source/WebKit2/WebKit2-7600.1.4.11.10/ChangeLog 以及我博客中的介绍
[self.webView setValue:[NSValue valueWithUIEdgeInsets:self.webView.scrollView.contentInset] forKey:@"_obscuredInsets"];
- 第二种办法
clipsToBounds 决定了子视图的显示范围。
具体的说,就是当它取值为 YES 时,剪裁超出父视图范围的子视图部分;当它取值为 NO 时,不剪裁子视图。
默认值为 NO,但是在 UIScrollView 中,它的默认值是 YES,也就是说默认裁剪的
毛玻璃那个我们是这样解决的
webView.frame.size.height = webView.frame.height - 64
webView.scrollView.clipsToBounds = false // 上滑时导航栏保持半透明效果
// 毕竟操作contentInset本来就不被推荐