2010-08-30 92 views
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;

Thks提前! :)

回答

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]; 
} 
+0

雅這個工程THKS,但其在狀態欄,我希望它在右上角 – Stefan 2010-08-30 09:24:55

+0

嘿,明白了! – Stefan 2010-08-30 09:28:51

+0

沒問題,樂於幫忙。如果解決了問題,你能接受答案嗎?謝謝! – jkilbride 2010-08-30 09:50:25

1

你要做的[activityIndicator stopAnimating],當你希望它停止...

+0

我想我錯過了這一點,但我無法弄清楚在哪裏放置代碼。上面的代碼是在didSelectRowAtIndexPath – Stefan 2010-08-30 09:26:04

+0

thks我明白了! – Stefan 2010-08-30 09:29:25