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