如何解决将JavaScript注入SwiftUI WebKit
如何将SwiftUI WebKit视图的文本大小设置为@State变量?我有这段代码,可以在SwiftUI中使用WebViews
import SwiftUI
import WebKit
struct WebView : UIViewRepresentable {
var url : URL;
func makeUIView(context: Context) -> WKWebView {
return WKWebView();
}
func updateUIView(_ uiView: UIViewType,context: Context) {
uiView.loadFileURL(url,allowingReadAccessTo: url)
}
}
我看到了this,并试图复制它,
class Coordinator : NSObject {
func webView(_ webView: WKWebView,js : String) {
webView.evaluateJavaScript(js)
}
}
但是我无法使其正常工作。
谢谢。
解决方法
加载完成后,您可以尝试在导航委托中执行此操作,如下所示:
class Coordinator : NSObject,WKNavigationDelegate {
// ... any other code
func webView(_ webView: WKWebView,didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript(js,completionHandler: { (value,error) in
// .. do anything needed with result,if any
})
}
}
struct WebView : UIViewRepresentable {
var url : URL;
func makeUIView(context: Context) -> WKWebView {
let webview = WKWebView()
webview.navigationDelegate = context.coordinator
return webview
}
func makeCoordinator() -> Coordinator {
Coordinator()
}
func updateUIView(_ uiView: UIViewType,context: Context) {
uiView.loadFileURL(url,allowingReadAccessTo: url)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。