我正试图在我的wkwebview应用程序上添加“拉”以刷新。我使用UIViewRepresentable作为我的webview,所以我没有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中。有人知道我在这里出了什么错吗?如果您还需要查看代码,请告诉我:)
发布于 2022-04-13 16:47:41
看起来你的refreshWebViewClass应该是Coordinator。然后,在您的addTarget中,目标将是context.coordinator,而不是self,这在这里是没有意义的,因为self实际上没有实现这个方法。
https://stackoverflow.com/questions/71847327
复制相似问题