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 に答える