2011-02-17 62 views
0

我在我的UIWebview上加载了一些内容,并且当UIWebView加载完成诸如“http://www.google.com”之类的URL的内容,但网络NetworkActivityIndi​​cator没有停止时,有什么建议?如何停止UIWebView上的NetworkActivity?

我发现有人使用[[UIApplication sharedApplication] setNetworkActivityIndi​​catorVisible:YES],但我认为这只是为了隐藏NetworkActivityIndi​​cator,事实上它不会停止,是吗?

现在我想要的是真的停止NetworkActivityIndi​​cator,如何实现它?

回答

4

在你的UIWebView委托:

- (void)webViewDidStartLoad:(UIWebView *)webView 
{ 
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
} 

删除任何其他调用这个委托-setNetworkActivityIndi​​catorVisible“。

如果您尚未分配委托该UIWebView的,那么这样做如下:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(x,y,width,height)]; 
[webView setDelegate:self]; 
[self.view addSubview:webView]; 

这当然假定你是一个UIViewController内和self.view存在,所以根据需要改变。

+0

简化版,该网络互动真的停止了吗?我想要的是停止网络交互.... – McGrady 2011-02-17 02:06:24

0

@McGrady:试试这个..

- (void)webViewDidFinishLoad:(UIWebView *)webView { NSLog(@"webViewDidfinishLoad"); [activity stopAnimating]; }

这里活动是您activityindicator名 希望这有助于你..

问候

Renuga