将加载屏幕添加到多个UIWebViews

时间:2013-07-18 19:46:23

标签: ios uiwebview

我正在构建一个包含多个uiwebviews的应用。我想添加加载屏幕以使应用程序更易于使用。我使用此代码为我的一个网页添加了一个。

- (void)webViewDidStartLoad:(UIWebView *)vieWeb
{
_loadingmain.hidden=NO;
}

- (void)webViewDidFinishLoad:(UIWebView *)viewWeb
{
_loadingmain.hidden=YES;
}

viewWeb是我的一个uiwebviews的名称。如何为我的其他两个网页浏览添加加载scree?为webview添加具有不同名称的相同代码会导致错误"duplicate declaration of method webViewDidFinishLoad"。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

所以你在一个页面上有多个UIWebView,对吧?如果是这样,您有几个选择:

1)创建UIWebView的子类并将其自身设置为Web视图委托,这样每个UIWebView子类都会处理它自己的加载视图。

2)您还可以创建加载视图的多个实例,并执行类似

的操作
-(void)webViewDidStartLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.webView1 addSubview:self.loadingView1];
    }
    else if( webView == self.webView2 )
    {
        [self.webView2 addSubview:self.loadingView2];
    }
    //repeat for other webviews
}   

-(void) webViewDidFinishLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.loadingView1 removeFromSuperview];
    }
    else if( webView == self.webView2 )
    {
        [self.loadingView2 removeFromSuperview];
    }
    //repeat for other webviews
}