活动指标没有停止

时间:2010-08-30 08:54:49

标签: iphone xcode android-activity indicator

对于我的以下代码,为什么我的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;

事先提前! :)

2 个答案:

答案 0 :(得分:1)

您需要实现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];
}

答案 1 :(得分:1)

当你希望它停止时你必须做[activityIndicator stopAnimating] ......