我想在用户按下webview上的任何链接时启动一个活动指示器。
发布于 2010-08-26 16:43:44
首先,将UIWebView出现在其中的ViewController指定为它的委托:在InterfaceBuilder或代码中,通过按住code并从UIWebView拖动到文件的所有者对象来执行此操作:
[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];
}发布于 2010-08-26 16:31:17
如果您想显示网络活动指示器,只需输入
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];然后
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];当你想隐藏它的时候
而如果您需要UIActivityIndicator
您必须在控制器中定义它,然后在XIB中输出它,然后
显示
[activityIndicator startAnimating];隐藏
[activityIndicator stopAnimating];发布于 2010-08-26 16:31:01
看一看UIWebViewDelegate Protocol.
它将允许您的代理在webview开始加载新内容时得到通知,这可能就是按下链接时的情况。你想要的委托方法是webViewDidStartLoad: -在它的实现中,你可以很容易地设置或启动你的活动指示器。
https://stackoverflow.com/questions/3573287
复制相似问题