WKWebView 滚动视图委托

WKWebView scrollview delegate

我有几个页面浏览量,每个页面浏览量都有一个网络视图。所有参考资料都很强。除了使用 webview scrollview 和设置它的委托外,一切都很好。我用它来监听滚动事件。

设置 webview.scrollview 的委托并弹出当前视图时,会发生这种情况:

    objc[37721]: Cannot form weak reference to
instance (0x7fb988fe2800) of class WebViewPageController.
    It is possible that this object was over-released,
or is in the process of deallocation.

我在 XCode 的堆栈跟踪中注意到,这发生在:

WKWebView dealloc
WKWebView _updateDelegate
UIScrollView setDelegate

我该怎么做才能解决这个问题?这在使用 UIWebView 时效果很好,但现在升级到 WKWebView 时会发生这种情况。有没有新的监听滚动事件的方法?

在视图控制器中实现 deinit 方法并将滚动视图委托设置为 nil:

deinit {
    webView.scrollView.delegate = nil
}