WKWebView 下拉刷新

Pull to refresh for WKWebView

我正在尝试在我的 wkwebview 应用程序上添加下拉刷新。我正在为我的网络视图使用 UIViewRepresentable,所以我没有 onViewLoad 函数和视图控制器。这是我的代码:

var wbWebViewEl: WKWebView = WKWebView()
struct SwiftUiWebView: UIViewRepresentable {
    ....
    class refreshWebViewClass {
    @objc func refreshWebView1(sender: UIRefreshControl) {
        print("test debug :D")
        wbWebViewEl.reload()
        DispatchQueue.main.async {
        sender.endRefreshing()
        }
    }
    func makeUIView(context: Context) -> WKWebView {    
        ......
        wbWebViewEl.scrollView.bounces = true
        let refreshControl = UIRefreshControl()
        refreshControl.addTarget(self, action: #selector(refreshWebViewClass.refreshWebView1), for: UIControl.Event.valueChanged)
        wbWebViewEl.scrollView.addSubview(refreshControl)
        wbWebViewEl.scrollView.refreshControl = refreshControl
        .....
    }

    .....

}

目前,当您向下滑动时,它会显示刷新加载微调器,但不会停止旋转。我在 refreshWebView1 函数中输入的测试打印也没有显示在 logcat 中。有谁知道我在这里弄错了什么?如果您需要查看更多代码,请告诉我:)

看起来你的 refreshWebViewClass 应该是 Coordinator。然后,在您的 addTarget 中,目标将是 context.coordinator,而不是 self,这在这里没有意义,因为 self 实际上并未实现此方法。