每当用户按下网页视图上的任何链接时,我都会启动一个活动指示器。
答案 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];
当你想隐藏它时
如果你需要UIActivityIndicator
你必须在你的控制器中定义它然后在XIB中输出它然后
显示
[activityIndicator startAnimating];
隐藏
[activityIndicator stopAnimating];
答案 2 :(得分:1)
每当webview开始加载新内容时,它都会允许您的代理得到通知,这可能是每当按下链接时就是这种情况。您想要的委托方法是 webViewDidStartLoad: - 在其实施中,您可以轻松设置或启动您的活动指示器。
答案 3 :(得分:1)
使用webViewDidStartLoad:
中的方法UIWebViewDelegate
。