【问题标题】:Custom Status Bar Color when using WKWebView使用 WKWebView 时自定义状态栏颜色
【发布时间】:2018-09-26 04:02:41
【问题描述】:

我正在尝试更改状态栏颜色以匹配我的应用中标题的颜色。问题是,该应用程序只是一个 WKWebView,其中加载了一个 Web 应用程序,所以我需要设置状态栏以匹配网站的标题。

我一直在努力解决这个问题,并尝试了几件事:

  • 设置主视图的色调/背景颜色
  • 设置 WKWebView 的色调/背景颜色
  • 设置 UINavigationBarStyle

我根本无法让它工作。

作为参考,这里是主栏的图片(在 WKWebView 和状态栏内。我需要一种方法使它们具有相同的颜色。

编辑:我找到了一个解决方案here,但它只适用于 iPhone 8 及更低版本。此解决方案不适用于 iPhone X 或更高版本,因为无法对其进行修改以使其始终适合状态栏的高度。至少我找不到。

【问题讨论】:

  • 你提前知道状态栏的颜色吗?是不是总会有图片中的那种颜色?
  • 我们可以看看您是如何在代码/界面构建器中嵌入 Web 视图的吗?
  • @DionizB 是的,颜色应该始终保持不变。
  • @KaneCheshire 我希望 this 是你要找的东西

标签: ios swift statusbar


【解决方案1】:

AppDelegate.siwft didFinishLaunchingWithOptions 方法中进行以下更改

    UINavigationBar.appearance().barTintColor = .init(red: 65.0/255, green: 151.0/255, blue: 176.0/255, alpha: 1.0)
    UINavigationBar.appearance().tintColor = .white
    UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor.white]
    UINavigationBar.appearance().isTranslucent = false

【讨论】:

  • 当我添加代码时,它在处理设置字体的行上抛出了错误:Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value。可能是使用的字体的名称吗?
  • @Koala King 我已经更新了代码以使用它。如果有任何问题请告诉我。
  • 应用代码时没有任何变化。我没有收到错误,但状态栏仍然没有改变?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
  • 2018-06-23
  • 1970-01-01
  • 2021-09-19
  • 2015-08-01
相关资源
最近更新 更多