【问题标题】:UIWebView didn't quite finish loadingUIWebView 没有完成加载
【发布时间】:2010-10-30 12:45:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: iphone uiwebview


    【解决方案1】:

    在你的 UIWebView 的 ViewController 的 viewWillDisappear: 方法中,这样做

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

    希望有帮助

    【讨论】:

    • 如下,我当时是个布偶,错过了:(BOOL)动画,我认为这是必需的……我已经添加了这两个代码。
    【解决方案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];
        }
    }
    

    【讨论】:

    • 谢谢你一百万次,拯救了我的一天。
    【解决方案3】:

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

    【讨论】:

    • 谢谢,我当时是个布偶,错过了:(BOOL)动画,我认为这是必需的......
    猜你喜欢
    • 1970-01-01
    • 2010-12-12
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2015-06-14
    • 2011-02-10
    相关资源
    最近更新 更多