1

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

提前谢谢!:)

4

2 回答 2

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];
}
于 2010-08-30T09:00:22.263 回答
1

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

于 2010-08-30T09:01:37.810 回答