【问题标题】:activity indicator not stopping活动指示器未停止
【发布时间】:2010-08-30 08:54:48
【问题描述】:

对于我的以下代码,为什么我的 webview 的活动指示器没有停止?

  //this part ok
   NSURL *theURL = [NSURL URLWithString: Link];
  NSURLRequest *request = [NSURLRequest requestWithURL: theURL];
 UIWebView * webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,300,300)];
 webView.scalesPageToFit = YES;
 [webView setDelegate: self];
  [webView loadRequest: request];

   /*this part ok*/
    UIViewController *newController = [[UIViewController alloc] init];
  newController.view = webView;
    [self.navigationController pushViewController:newController animated:YES ];


   //activity indicatior not stoping!
    CGRect frame = CGRectMake(0.0, 0.0, 25.0, 25.0);
    activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:frame];
   [activityIndicator startAnimating];
      [activityIndicator sizeToFit];
  activityIndicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
        UIViewAutoresizingFlexibleRightMargin |
        UIViewAutoresizingFlexibleTopMargin |
        UIViewAutoresizingFlexibleBottomMargin);

  UIBarButtonItem *loadingView = [[UIBarButtonItem alloc]           initWithCustomView:activityIndicator];
        loadingView.target = newController;

newController.navigationItem.rightBarButtonItem = loadingView;

提前考虑! :)

【问题讨论】:

    标签: iphone xcode android-activity indicator


    【解决方案1】:

    当你想让它停止时,你必须做[activityIndicator stopAnimating]...

    【讨论】:

    • 我想我想念这个,但我不知道在哪里放置代码。上面的代码在 didSelectRowAtIndexPath
    【解决方案2】:

    你需要实现 UIWebViewDelegate 方法:

    - (void)webViewDidStartLoad:(UIWebView *)webView {
         [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
         [activityIndicator stopAnimating];
    }
    
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
         [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
         [activityIndicator stopAnimating];
    }
    
    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
         [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
         [activityIndicator stopAnimating];
    }
    

    【讨论】:

    • 你这行得通,但它在状态栏中,我希望它位于右上角
    • 没问题,很高兴为您提供帮助。如果它解决了问题,你能接受答案吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多