2013-07-18 49 views
0

Im建立一个应用程序与多个uiwebviews。我想添加加载屏幕以使应用更易于使用。我使用此代码为我的一个Web视图添加了一个。添加加载屏幕到多个UIWebViews

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

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

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

回答

1

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

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 
} 
+0

感谢您的回答!我不断收到每个webview = self.webview旁边的警告......说使用双括号或双等号。我该怎么做,为什么? – user2150433

+0

我是否需要将加载视图的代表声明为self?如果这甚至有意义......以及如果这是必要的。我在头文件中尝试了,但是出现错误。 – user2150433

+0

对不起,应该是==,会修正这个例子。 – JonahGabriel