我已经将一个视图推送到包含 UIWebView 的导航控制器上,这将加载一个 URL。
当它启动时,我启动 networkActivityIndicatorVisible,当它完成时,我将其隐藏。
如果用户决定他不想完成加载网页并返回导航控制器,则网络指示器会继续。我该如何摆脱它,因为似乎没有为此的委托方法,并且没有任何 viewdidUnload 被触发....
在 UIWebView 的 ViewController 的 viewWillDisappear: 方法中,执行此操作
if([yourWebView isLoading]){
//hide your network activity indicator
[yourWebView stopLoading];
}
希望有帮助
我为加载过程做了一个简单的引用计数解决方案:
-(void)webViewDidStartLoad:(UIWebView *)webView {
if (_loadRef == 0) {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}
_loadRef++;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
_loadRef--;
if (_loadRef == 0) {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
}
如何让活动指示器在前一个控制器的 viewWillAppear:(BOOL)animated 中不可见?