美文网首页
一次阻止WKWebView缩放导致的崩溃!

一次阻止WKWebView缩放导致的崩溃!

作者: 豪冷 | 来源:发表于2019-06-25 11:45 被阅读0次

    场景

    因为业务需要,H5没有处理页面缩放。
    所以,要APP端处理H5页面的缩放。

    于是,使用了下面的方式:

    WKWebView *webView = [[WKWebView alloc] init];
    webView.scrollView.delegate = self;
    ......
    
    #pragma mark - UIScrollViewDelegate
    
    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
        return nil; // 返回 nil, 不让页面缩放
    }
    
    

    于是,当前控制器 pop之后
    就光荣的 Crash了 !

    看了下当前线程的方法调用,发现
    WKWebViewdealloc之后
    更新了 scrollView的代理
    最后 __forwarding时崩溃了

    看图说话:


    这里写图片描述

    办法

    dealloc方法中置空代理,搞定!

    - (void)dealloc{
        _webView.scrollView.delegate = nil;
    }
    

    相关文章

      网友评论

          本文标题:一次阻止WKWebView缩放导致的崩溃!

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