把控制器视图背景色设置为WKWebView背景色,然后隐藏WKWebView
_webView.scrollView.backgroundColor = [UIColor KZP_MainColor];
_webView.backgroundColor = [UIColor KZP_MainColor];
_webView.hidden = YES;//在创建的时候直接先隐藏
#pragma mark - WKNavigationDelegate
//在开始加载WKWebVie添加一个加载框
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation{
[GiFHUD showInView:self.view GIF:LOADING];
}
//网页加载完成 延时0.2秒展示网页
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{
[webView evaluateJavaScript:@"document.body.style.backgroundColor=\"#141A26\"" completionHandler:nil];
[self performSelector:@selector(showWebView) withObject:self afterDelay:0.2];
}
- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error{
[GiFHUD dismiss];
}
- (void)showWebView{
self.webView.hidden = NO;
[GiFHUD dismiss];
}
注:如果不设置隐藏和延时的话,设置WKWebView颜色会有闪现一下白色在变回我们设置的颜色;原因:网页的背景色和字体颜色的修改是在网页加载完毕的时候进行的,,所以会先显示原始颜色,再显示修改的颜色
网友评论