【发布时间】:2019-11-15 13:46:11
【问题描述】:
我正在尝试将 Swift 和 Javascript 与 SwiftUI 进行双向集成。
这是 WebKit 与 SwiftUI 的接口。
import SwiftUI
import WebKit
struct ggWebView : UIViewRepresentable {
let filePath: String
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
func updateUIView(_ uiView: WKWebView, context: Context) {
uiView.configuration.userContentController.add(self, name: "jsHandler")
let bundleURL = Bundle.main.resourceURL!.absoluteURL
let html = bundleURL.appendingPathComponent(filePath)
uiView.loadFileURL(html, allowingReadAccessTo:bundleURL)
}
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "jsHandler"{
print(message.body)
}
}
}
userContentController.add(self, name: "jsHandler") 在self 和Argument type 'ggWebView' does not conform to expected type 'WKScriptMessageHandler' 处显示错误。
【问题讨论】:
标签: swift wkwebview swiftui wkwebviewconfiguration