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;
}

你可能感兴趣的:(iOS 解决WKWebView白屏的问题)