你如何开始活动指标?

时间:2010-08-26 08:21:28

标签: iphone

每当用户按下网页视图上的任何链接时,我都会启动一个活动指示器。

4 个答案:

答案 0 :(得分:5)

首先将UIWebView出现的ViewController指定为其委托:通过从UIWebView控件拖动到InterfaceBuilder中的File's Owner对象或代码中来执行此操作:

[myWebView setDelegate:myViewController];

然后,在ViewController.m文件中,您现在可以使用delegate方法来检测何时加载页面。每次在UIWebView中加载链接或新页面时,都会触发这些委托方法。

- (void)webViewDidStartLoad:(UIWebView *)webView {
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
     [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

答案 1 :(得分:2)

如果你想显示网络活动指标,请点击

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

然后

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];

当你想隐藏它时

如果你需要UIActivityIndi​​cator

你必须在你的控制器中定义它然后在XIB中输出它然后

显示

[activityIndicator startAnimating];

隐藏

[activityIndicator stopAnimating];

答案 2 :(得分:1)

查看UIWebViewDelegate Protocol.

每当webview开始加载新内容时,它都会允许您的代理得到通知,这可能是每当按下链接时就是这种情况。您想要的委托方法是 webViewDidStartLoad: - 在其实施中,您可以轻松设置或启动您的活动指示器。

答案 3 :(得分:1)

使用webViewDidStartLoad:中的方法UIWebViewDelegate