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 实际上并未实现此方法。
我正在尝试在我的 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 实际上并未实现此方法。