WKWebView scrollview委托

时间:2015-12-10 23:03:42

标签: ios objective-c uiscrollview uiwebview wkwebview

我有几个页面浏览量,每个都有一个webview。所有参考文献都很强。除了使用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会发生这种情况。是否有新的方式来收听滚动事件?

1 个答案:

答案 0 :(得分:15)

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

deinit {
    webView.scrollView.delegate = nil
}