加载uiwebview ios时的背景图像有时会显示

时间:2014-01-15 10:09:11

标签: ios objective-c uiwebview

我在ios应用中加载了一个网页。在加载时,我会显示一个本地图像以避免黑屏一段时间。

我在viewDidLoad中使用此代码:

[myWebView setDelegate:self];
theLoadingImageView = [[UIImageView alloc] initWithFrame:myWebView.frame];


if([[UIDevice currentDevice] userInterfaceIdiom] ==UIUserInterfaceIdiomPhone){

    theLoadingImageView.image = [UIImage imageNamed:@"splash_iphone.png"];

}
else{

    theLoadingImageView.image = [UIImage imageNamed:@"splash_ipad.png"];

}





self.logoApp = theLoadingImageView;
[myWebView addSubview:theLoadingImageView];

代表们补充道:

-(void)webViewDidStartLoad:(UIWebView *)myWebView {
    NSLog(@"start");
   theLoadingImageView.hidden = NO;
}

-(void)webViewDidFinishLoad:(UIWebView *)myWebView {
    NSLog(@"finish");
     theLoadingImageView.hidden = YES;
}

但有时候,在我的网页各部分之间进行更改时,启动画面会显示一秒钟并再次隐藏。

为什么会这样?我可以避免吗?

1 个答案:

答案 0 :(得分:1)

UIWebView完全有可能重新命令它的子视图(毕竟它只是带有子视图的UIScrollView)。你应该试着打电话:

-(void)webViewDidStartLoad:(UIWebView *)myWebView {
    NSLog(@"start");
    theLoadingImageView.hidden = NO;
    [myWebView bringSubviewToFront:theLoadingImageView];
}