iOS 解决WKWebView白屏的问题

使用一个导航控制器加载一个WKWebView , 同时这个webview 需要原生传一些参数,此时锁屏,再打开,滑动一下webview ,会出现白屏的问题,原因如下

滑动webview 的时候,会触发如下的一个事件,导致webview在reload的时候没有重新获取到app传的参数,加载界面空白

navigationAction.navigationType = WKNavigationTypeReload

解决方案如下

// 监听用户导航行为
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    // 可以在这个地方处理用户导航行为
    if (navigationAction.navigationType == WKNavigationTypeReload && _didBecomeActive) {
        decisionHandler(WKNavigationActionPolicyCancel);
    } else {
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    _didBecomeActive = NO;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容