UIActivityIndi​​cator与UIWebView loadRequest?

时间:2012-06-19 07:39:52

标签: objective-c ios nsurl uiactivityindicatorview

所以我有一个包含HTML内容的Web视图的视图。这是我显示它的代码:

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

这很有效。但是当然在显示HTML内容之前有一点延迟,我想在此刻显示一个UIActivityIndi​​cator。

我知道我必须使用:

[myActivityIndicator startAnimating];
[myActivityIndicator stopAnimating];

我唯一想念的是如何知道HTML内容何时被完全加载?

感谢您的建议!

3 个答案:

答案 0 :(得分:12)

您可以实施一个协议来了解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的委托。

答案 1 :(得分:3)

UIWebViewDelegate方法中,

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

答案 2 :(得分:2)