我使用 aUIWebView
通过显示捆绑的 HTML 文件来显示“关于”屏幕。我的应用程序的视图层次结构是:UITabBarController
// UIViewController
。UIWebView
问题是 HTML 页面的背景很暗,第一次点击选项卡时,在显示 Web 视图之前会短暂看到白色背景。我尝试设置的背景颜色UIWebView
,但这并不能解决问题。无论我将内容加载到viewDidLoad
或中,都会出现问题viewWillAppear
。
我使用 aUIWebView
通过显示捆绑的 HTML 文件来显示“关于”屏幕。我的应用程序的视图层次结构是:UITabBarController
// UIViewController
。UIWebView
问题是 HTML 页面的背景很暗,第一次点击选项卡时,在显示 Web 视图之前会短暂看到白色背景。我尝试设置的背景颜色UIWebView
,但这并不能解决问题。无论我将内容加载到viewDidLoad
或中,都会出现问题viewWillAppear
。
迅速:
webView.isOpaque = false
webView.backgroundColor = UIColor.clear
目标-C:
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
// 加载 index.html
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];
self.webview.delegate = self;
self.webview.alpha = 0; // flicker fix
[self.webview loadRequest:[NSURLRequest requestWithURL:url]];
加载后将此添加到委托
// flicker fix
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.30];
self.webview.alpha = 1;
[UIView commitAnimations];
}
我也遇到了同样的问题,我找到的解决方法如下。
-(void)viewDidLoad {
[super viewDidLoad];
[_webView setOpaque:NO];
_webView.backgroundColor = [UIColor clearColor];
self.webView.hidden = YES;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
//...........................
self.webView.hidden = NO;
}
通过添加 webView 设置修复:
myWebView.setBackgroundColor(0x00000000);