UIWebView加载过程中,在页面没有加载完毕前,会显示一片空白。为解决这个问题,方法如下:
方法1、让UIWebView背景透明。
webView.backgroundColor = [UIColor clearColor]; webView.opaque = NO; [webView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"webbg.png"]]];
方法2:
先将webView的frame设为0, 在页面加载完成后再将frame设为原来大小.
方法3:
在viewDidLoad中,在WebView上面覆盖一个背景视图。
self.webView=[[[UIWebView alloc]initWithFrame:self.view.bounds]autorelease]; [self.webView loadRequest:request]; [self.view addSubview:self.webView]; UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"gatewaybg.png"]]; imageView.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); [self.view addSubview:imageView];
然后在WebView加载完成后把视图放到最上层或移除背景视图。
- (void)webViewDidFinishLoad:(UIWebView *)webView { // WebView放到最上层 [self.view bringSubviewToFront:self.webView]; // 或者可以把背景图移除 [self.webView removeFromSuperview]; }