wkwebview白屏
Posted 博BOBO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wkwebview白屏相关的知识,希望对你有一定的参考价值。
解决方案
在viewDidAppear回调进行遍历WKWebView的subviews,查找WKCompositingView是否存在来判断是否白屏;出现白屏可以关闭页面或者重新构造WKWebView页面,经过测试reload,loadRequest没有效果;
- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:animated];
BOOL isblank = [self isBlankView:self.webView];
if (isblank)
[self performSelector:@selector(dismissViewController) withObject:nil afterDelay:0.1];
- (void)dismissViewController
[self.navigationController popViewControllerAnimated:YES];
/*
* 判断是否白屏(WKCompositingView不存在)
* YES:blank
*/
- (BOOL)isBlankView:(UIView*)view
//NSLog(@"root:%@", NSStringFromClass(view.class));
Class wkCompositingView = NSClassFromString(@"WKCompositingView");
if ([view isKindOfClass:[wkCompositingView class]])
return NO;
for (UIView *subView in view.subviews)
//NSLog(@"child:%@", NSStringFromClass(subView.class));
if (![self isBlankView:subView])
return NO;
return YES;
以上是关于wkwebview白屏的主要内容,如果未能解决你的问题,请参考以下文章