2009-06-01 165 views
0

我已經將視圖推到了包含UIWebView的導航控制器上,這將加載一個URL。UIWebView沒有完全加載完成

當它開始時,我啓動了networkActivityIndi​​catorVisible,當它結束時,我將它隱藏起來。

如果用戶決定他不想完成加載網頁並點擊導航控制器,網絡指示器將繼續。我怎麼擺脫這一點,因爲似乎沒有委託方法,並沒有任何viewdidUnload得到觸發....

回答

0

如何使活動指標在前一個控制器的viewWillAppear:(布爾)動畫?

+0

謝謝,我當時就是一個布偶然後錯過了:(布爾)動畫,我認爲這是必需的...... – 2009-06-02 05:44:51

2

在viewWillDisappear:您的UIWebView的視圖控制器的方法,這樣做

if([yourWebView isLoading]){ 
    //hide your network activity indicator 
    [yourWebView stopLoading]; 
} 

希望幫助

+0

如下所示,我當時是一個布偶然後錯過了:(布爾)動畫,我認爲這是必需的... 我已經添加了兩位代碼。 – 2009-06-02 05:45:08

2

我做引用計數爲加載過程一個簡單的解決方案:

-(void)webViewDidStartLoad:(UIWebView *)webView { 

    if (_loadRef == 0) { 
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
    } 

    _loadRef++; 
} 

-(void)webViewDidFinishLoad:(UIWebView *)webView { 

    _loadRef--; 

    if (_loadRef == 0) { 
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
    } 
} 
+0

謝謝你一百萬次,挽救了我的一天。 – Emil 2011-04-04 19:37:04