我在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;
}
但有时候,在我的网页各部分之间进行更改时,启动画面会显示一秒钟并再次隐藏。
为什么会这样?我可以避免吗?
答案 0 :(得分:1)
UIWebView完全有可能重新命令它的子视图(毕竟它只是带有子视图的UIScrollView)。你应该试着打电话:
-(void)webViewDidStartLoad:(UIWebView *)myWebView {
NSLog(@"start");
theLoadingImageView.hidden = NO;
[myWebView bringSubviewToFront:theLoadingImageView];
}