问题描述
如何将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)
}
}