修改WKWebView背景色

把控制器视图背景色设置为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颜色会有闪现一下白色在变回我们设置的颜色;原因:网页的背景色和字体颜色的修改是在网页加载完毕的时候进行的,,所以会先显示原始颜色,再显示修改的颜色

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。