2013-07-18 63 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