使用一個(gè)導(dǎo)航控制器加載一個(gè)WKWebView , 同時(shí)這個(gè)webview 需要原生傳一些參數(shù)种柑,此時(shí)鎖屏务蝠,再打開(kāi),滑動(dòng)一下webview 辈双,會(huì)出現(xiàn)白屏的問(wèn)題责掏,原因如下
滑動(dòng)webview 的時(shí)候,會(huì)觸發(fā)如下的一個(gè)事件湃望,導(dǎo)致webview在reload的時(shí)候沒(méi)有重新獲取到app傳的參數(shù)换衬,加載界面空白
navigationAction.navigationType = WKNavigationTypeReload
解決方案如下
// 監(jiān)聽(tīng)用戶導(dǎo)航行為
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
// 可以在這個(gè)地方處理用戶導(dǎo)航行為
if (navigationAction.navigationType == WKNavigationTypeReload && _didBecomeActive) {
decisionHandler(WKNavigationActionPolicyCancel);
} else {
decisionHandler(WKNavigationActionPolicyAllow);
}
_didBecomeActive = NO;
}