问题描述
我正在尝试更改 WKScriptMessageHandler
协调器中的状态栏颜色,以便当我收到来自 webview 的消息时,它会更改状态栏颜色。我的问题是,正在更改状态栏颜色和文本颜色。大多数解决方案在 plist 文件或 ContentView
文件中更改它,这不是我想要的。我正在使用 swiftui 应用程序,所以我没有 SceneDelegate
文件。我已经尝试使用状态变量通过 contentView 中的 if/else 语句来更改它,但是协调器无法访问 ContentView 中的变量。这是我的代码:
extension SwiftUiWebView.Coordinator: WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController,didReceive message: WKScriptMessage) {
if message.name == "iOSNative" {
if let body = message.body as? [String: Any] {
let function = body["function"] as! String
switch function {
case "changeStatusBarColor": // Recieves message from webview "changeStatusBarColor"
// Changing status bar color code should go here
default:
break
}
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)