WKWebView 设置webView 有毛玻璃效果

2017-07-16  本文已影响86人  怎样m
  1. 第一种办法
    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"];

  1. 第二种办法
    clipsToBounds 决定了子视图的显示范围。
    具体的说,就是当它取值为 YES 时,剪裁超出父视图范围的子视图部分;当它取值为 NO 时,不剪裁子视图。
    默认值为 NO,但是在 UIScrollView 中,它的默认值是 YES,也就是说默认裁剪的

毛玻璃那个我们是这样解决的
webView.frame.size.height = webView.frame.height - 64
webView.scrollView.clipsToBounds = false // 上滑时导航栏保持半透明效果
// 毕竟操作contentInset本来就不被推荐

上一篇下一篇

猜你喜欢

热点阅读