0

我正在构建一个具有多个uiwebviews. 我想添加加载屏幕以使应用程序更易于使用。我使用此代码为我的一个 webview 添加了一个。

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

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

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

4

1 回答 1

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
}   
于 2013-07-18T20:05:31.920 回答