【问题标题】:Check whether the request loaded in UIWebView检查请求是否加载到 UIWebView
【发布时间】:2013-04-06 08:02:35
【问题描述】:

我有一个UIWebview,我正在从服务器加载一个 URL。一切运行良好,但页面在 Web 视图中加载缓慢。在加载时,我必须显示一个活动指示器。

我已经完成了:

 NSURL *urlStr = [NSURL URLWithString:myURLString];

 NSURLRequest *req = [NSURLRequest requestWithURL:urlStr];

[webView loadRequest:req];

我添加了这样的活动指示器:

activityIndicator = [[UIActivityIndicatorView alloc]init];
activityIndicator.activityIndicatorViewStyle=UIActivityIndicatorViewStyleGray;


activityIndicator.frame=CGRectMake(webView.center.x,webView.center.y - 150, 60, 60);
[webView addSubview:activityIndicator];

我什么时候必须开始和停止动画?

【问题讨论】:

    标签: objective-c cocoa-touch uiwebview


    【解决方案1】:

    为此,您需要实现UIWebView Delegate

    你可以在 -

    - (void)webViewDidStartLoad:(UIWebView *)webView
    

    并且可以在任何一个中完成 -

    如果成功 -

    - (void)webViewDidFinishLoad:(UIWebView *)webView
    

    如果失败 -

    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
    

    【讨论】:

      【解决方案2】:
      -(void)webViewDidStartLoad:(UIWebView *)webView
      {
      
          [activityIndicator startAnimating];
          activityIndicator.hidden = NO;
      
      }
      
      -(void)webViewDidFinishLoad:(UIWebView *)webView
      {
      
      
      
          [activityIndicator stopAnimating];
          activityIndicator.hidden = YES;
      
      }
      
      - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
      {
      
          [activityIndicator stopAnimating];
          activityIndicator.hidden = YES;
      
      }
      

      我认为这对你会有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        • 1970-01-01
        • 2014-07-08
        • 1970-01-01
        相关资源
        最近更新 更多