32

我使用 aUIWebView通过显示捆绑的 HTML 文件来显示“关于”屏幕。我的应用程序的视图层次结构是:UITabBarController// UIViewControllerUIWebView

问题是 HTML 页面的背景很暗,第一次点击选项卡时,在显示 Web 视图之前会短暂看到白色背景。我尝试设置的背景颜色UIWebView,但这并不能解决问题。无论我将内容加载到viewDidLoad或中,都会出现问题viewWillAppear

4

4 回答 4

88

迅速:

webView.isOpaque = false
webView.backgroundColor = UIColor.clear

目标-C:

webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
于 2013-03-27T21:56:05.320 回答
10

// 加载 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];

}
于 2014-04-22T12:17:51.157 回答
3

我也遇到了同样的问题,我找到的解决方法如下。

-(void)viewDidLoad {
  [super viewDidLoad];

  [_webView setOpaque:NO];
  _webView.backgroundColor = [UIColor clearColor];
  self.webView.hidden = YES;
}

-(void)webViewDidFinishLoad:(UIWebView *)webView {

 //...........................

 self.webView.hidden = NO;
}
于 2016-08-06T10:54:25.920 回答
0

通过添加 webView 设置修复:

myWebView.setBackgroundColor(0x00000000);
于 2020-05-21T14:43:46.570 回答