0

我有一个UIWebview从服务器加载 URL 的地方。一切运行良好,但页面在 web 视图中加载缓慢。在加载时,我必须显示一个活动指示器。

我已经做好了:

 NSURL *urlStr = [NSURL URLWithString:myURLString];

 NSURLRequest *req = [NSURLRequest requestWithURL:urlStr];

[webView loadRequest:req];

我添加了这样的活动指示器:

activityIndicator = [[UIActivityIndicatorView alloc]init];
activityIndicator.activityIndicatorViewStyle=UIActivityIndicatorViewStyleGray;


activityIndicator.frame=CGRectMake(webView.center.x,webView.center.y - 150, 60, 60);
[webView addSubview:activityIndicator];

我什么时候必须开始和停止动画?

4

2 回答 2

2

为此,您将需要实现UIWebView Delegate

你可以开始它 -

- (void)webViewDidStartLoad:(UIWebView *)webView

并且可以完成 -

如果成功——

- (void)webViewDidFinishLoad:(UIWebView *)webView

如果失败 -

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
于 2013-04-06T08:07:35.247 回答
2
-(void)webViewDidStartLoad:(UIWebView *)webView
{

    [activityIndicator startAnimating];
    activityIndicator.hidden = NO;

}

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



    [activityIndicator stopAnimating];
    activityIndicator.hidden = YES;

}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{

    [activityIndicator stopAnimating];
    activityIndicator.hidden = YES;

}

我想这会对你有所帮助。

于 2013-04-06T08:12:29.273 回答