UIWebView没有完成加载

时间:2009-06-01 21:36:37

标签: iphone uiwebview

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

当它开始时,我启动networkActivityIndi​​catorVisible,当它完成时我隐藏它。

如果用户决定他不想完成加载网页并点击导航控制器,则网络指示器会继续。我怎么摆脱这个,因为似乎没有委托方法,没有一个viewdidUnload被触发....

3 个答案:

答案 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)中设置为不可见?