2012-06-19 69 views
3

所以我有一個包含HTML視圖的web視圖的視圖。這是我的代碼來顯示它:UIActivityIndi​​cator與UIWebView loadRequest?

NSURL *url = [NSURL URLWithString:urlWeb]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[vue loadRequest:request]; 
vue.scalesPageToFit = YES; 

這很好。但是當然,在顯示HTML內容之前會有一些延遲,現在我想要顯示一個UIActivityIndi​​cator。

我知道,我必須使用:

[myActivityIndicator startAnimating]; 
[myActivityIndicator stopAnimating]; 

我錯過的唯一的事情是如何知道什麼時候該HTML內容被完全加載?

感謝您的建議!

回答

11

還有就是可以實現要知道,UIWebViewDelegate的協議。如果要實現webViewDidFinishLoad就可以知道,當內容被完全加載的方法:

這裏是你的代碼:

[activityIndicator startAnimating]; 

NSURL *url = [NSURL URLWithString:urlWeb]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[vue loadRequest:request]; 
vue.scalesPageToFit = YES; 

這裏是協議方法

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [activityIndicator stopAnimating]; 
} 

記得設置你的類作爲UIWebView的委託,然後加載請求。

+0

完美地工作。謝謝 ! –

3

UIWebViewDelegate方法,

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [myActivityIndicator stopAnimating]; 
    //myActivityIndicator.hidden = YES; 
}