2012-04-12 74 views
0

我想它停止轉動,一旦網站完成加載...的WebView活動指示燈會不停旋轉 - iPhone的Objective-C

的代碼我有:

在我的.h

IBOutlet UIActivityIndicatorView *activityIndicator; 

在我的.m

- (void)webViewDidStartLoad:(UIWebView *)webView { 
[activityIndicator startAnimating]; 
} 
- (void)webViewDidFinishLoad:(UIWebView *)webView { 
[activityIndicator stopAnimating]; 
self.view = webView; 
} 

然後我迷上它以文件所有者的筆尖。它旋轉,但不停止!有什麼建議麼?謝謝!

回答

1

Web視圖是否實際完成加載?設置一個斷點,看看你是否曾經打過這種方法。

並且,爲了完整性...您確實已將webview的委託設置爲您的視圖控制器,正確(我假設您這樣做,因爲它開始動畫,但您永遠不知道)?

有兩種方法可以設置webview的委託。如果你的筆尖上有它,請點擊webview並從委託屬性拖動到文件的所有者。或者,在viewDidLoad中,只需說_webView.delegate = self;

UPDATE:我們的談話後,並在問候的評論下面,我只是想添加這個的完整性,併爲其他人誰用了同樣的問題認爲這在未來。加載完成後,您的webView變得越來越大的原因是,當您說self.view = webview時,您將它分配給視圖控制器的視圖屬性。沒有必要。拿出來,你會沒事的。

+0

這可能是它...它可能剛剛開始旋轉(並繼續),因爲我的行爲設置爲在筆尖設置中設置動畫...您是否會澄清如何檢查我是否擁有webview的代表集到我的視圖控制器? – Fitz 2012-04-12 13:58:47

+0

我只是將網頁視圖委託連接到實際的微調,它仍然不工作...不知道這是你在說什麼? – Fitz 2012-04-12 14:01:28

+0

你有沒有打過這種方法?設置一個斷點。實現了webView:didFailLoadWithError:以及看看是否有錯誤 – jmstone617 2012-04-12 14:03:56

0

應該按照您實施它的方式工作。

添加以下代碼

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { 
    [loadIndicator stopAnimating]; 
} 

也許你的UIWebView不能完成正常加載。

0

確保您在Interface Builder中的實際UIActivityIndi​​catorView對象上具有正確的切換設置,並確保它正確鏈接。我相信你想要「隱藏時停下來」。

還要確保您已經實現了WebView委託。

+0

hidesWhenStopped將不會幫助if它永遠不會停止... – jmstone617 2012-04-12 14:10:32

+0

他應該確保Webview連接到IB,以便委託知道何時完成web視圖加載。 – Eric 2012-04-12 14:14:24