Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript注入SwiftuiWebKit_Swift_Swiftui_Webkit - Fatal编程技术网

将javascript注入SwiftuiWebKit

将javascript注入SwiftuiWebKit,swift,swiftui,webkit,Swift,Swiftui,Webkit,如何将SwiftUI WebKit视图的文本大小设置为@State变量?我有这段代码,允许我在SwiftUI中使用WebView import SwiftUI import WebKit struct WebView : UIViewRepresentable { var url : URL; func makeUIView(context: Context) -> WKWebView { return WKWebView(); } func

如何将SwiftUI WebKit视图的文本大小设置为@State变量?我有这段代码,允许我在SwiftUI中使用WebView

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)
   }
}
我看到并试图复制它

    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)
   }
}

加载完成后,您可以在导航委托中尝试执行此操作,如下所示:

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)
   }
}