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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xjh093/article/details/79956460

场景

因为业务需要,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;
}

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭