1

我想达到与 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 年历史且已过时。

4

2 回答 2

2

您需要移动导航栏下的 web 视图,然后设置 web 视图的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;
于 2014-11-14T14:06:55.103 回答
0

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

于 2014-11-14T14:07:33.253 回答