【问题标题】:Blurry translucent effect of UINavigationBar/UIVisualEffectView while scrolling on a WKWebView?在 WKWebView 上滚动时 UINavigationBar/UIVisualEffectView 的模糊半透明效果?
【发布时间】:2014-11-14 14:00:38
【问题描述】:

我想实现与 Safari 中相同的效果,其中导航栏的颜色会略有变化,以反映滚动时经过的网页。

过去使用 UIWebView 的 6 年老方法是简单地包含这两行代码:

webView.scrollView.contentInset = UIEdgeInsetsMake(44.0, 0.0, 0.0, 0.0);
    
webView.scrollView.scrollIndicatorInsets = _webView.scrollView.contentInset;

由于 WKWebView 边缘插图的工作方式与内容偏移非常相似。它最初显示正确,但是当您滚动时,网页会在 UINavigationBar/UIVisualEffectView 下方移动,从而无法到达相应调整的网站的顶部栏,例如 apple.com

还有其他方法吗?

以下答案已有 6 年历史且已过时。

【问题讨论】:

    标签: ios objective-c uinavigationbar wkwebview uivisualeffectview


    【解决方案1】:

    你需要移动导航栏下的web view,然后设置web view的contentInset,像这样:

    navBar.frame = CGRectMake(0, 0, self.view.bounds.size.width, 44);
    webView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
    webView.scrollView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
    webView.scrollView.scrollIndicatorInsets = webView.scrollView.contentInset;
    

    【讨论】:

    • 我只改变:UIEdgeInsetsMake(-44, 0, 0, 0);谢谢!
    【解决方案2】:

    在 xcode 和状态栏样式中转到您的应用设置,单击下拉菜单并选择“Light”。 这些应该适用于您的所有应用

    【讨论】:

      猜你喜欢
      • 2014-11-05
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多