我有一个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];
我什么时候开始和停止制作动画?
答案 0 :(得分:2)
为此,您需要实施UIWebView Delegate。
你可以在 -
开始- (void)webViewDidStartLoad:(UIWebView *)webView
并且可以完成 -
如果成功 -
- (void)webViewDidFinishLoad:(UIWebView *)webView
如果失败 -
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
答案 1 :(得分: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;
}
我认为这会对你有所帮助。