0

我已经将一个视图推送到包含 UIWebView 的导航控制器上,这将加载一个 URL。

当它启动时,我启动 networkActivityIndi​​catorVisible,当它完成时,我将其隐藏。

如果用户决定他不想完成加载网页并返回导航控制器,则网络指示器会继续。我该如何摆脱它,因为似乎没有为此的委托方法,并且没有任何 viewdidUnload 被触发....

4

3 回答 3

2

在 UIWebView 的 ViewController 的 viewWillDisappear: 方法中,执行此操作

if([yourWebView isLoading]){
  //hide your network activity indicator
  [yourWebView stopLoading];
}

希望有帮助

于 2009-06-02T05:08:27.627 回答
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];
    }
}
于 2009-07-25T12:10:10.403 回答
0

如何让活动指示器在前一个控制器的 viewWillAppear:(BOOL)animated 中不可见?

于 2009-06-02T00:28:27.233 回答