美文网首页
使用WKWebView时,ViewController不走dea

使用WKWebView时,ViewController不走dea

作者: 丶丶夏天 | 来源:发表于2017-06-22 14:20 被阅读529次

    主要原因是因为这句代码造成循环引用

    [self.webView.configuration.userContentController addScriptMessageHandler:self name:@"popvc"];
    

    1 找到一种方法通过把scriptMessageHandler转交给一个新类处理,但是相对下面的方法来说代码太多,就不作记录了。

    2 还有一种更好的方法就是在控制器pop出栈之前用removeScriptMessageHandlerForName移除掉addScriptMessageHandler

    [self.contentWKWebView.configuration.userContentController removeScriptMessageHandlerForName:@"popvc"];
    

    需要注意的是,我这里pop出栈成功后遇到了crash,导致这次crash的原因是强引用了scrollview,代理释放不掉,所以会报错,所以

    self.webView.scrollView.delegate=nil;
    

    这样就好了

    相关文章

      网友评论

          本文标题:使用WKWebView时,ViewController不走dea

          本文链接:https://www.haomeiwen.com/subject/wrlfcxtx.html