停止网络活动指标

isa*_*thg 4 iphone xcode cocoa-touch objective-c

我使用以下代码加载网页.一切正常,但我想在完成加载网页后停止网络活动指示.我们怎么知道网页已完全加载.

有人请帮忙.

UIApplication* app = [UIApplication sharedApplication];
 app.networkActivityIndicatorVisible = YES; // to stop it, set this to NO

 NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
 NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)

Mar*_*ams 6

最简单的方法是在实例化UIWebView之后添加此行.

[webView setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

现在你将调用webViewDidFinishLoad:,整个方法应该是这样的.

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
Run Code Online (Sandbox Code Playgroud)

我将进一步解释这一点,因为您将来绝对需要了解授权.

UIWebView只是一个显示Web数据的对象.它并不喜欢处理所有这些其他东西,因为它真的很喜欢网络数据.现在,在您的情况下,您想要了解UIWebView何时完成其最喜欢的小任务.要做到这一点,你的UIWebView给它的代表提供了一个大喊,比如"Yo holmes,我现在已经完成了加载这些数据.所以你可以做任何你现在做的事情." 并且您的UIWebView继续以其快乐的方式.

所以我们所做的就是通过将webView上的delgate属性设置为self来告诉UIWebView它的委托,在本例中是我们当前的类.

从那里,您可以调用UIWebView委托可用的任何方法(它在文档中的所有方法),并让它们执行UIWebView主要目的之外的任务.

合理?

  • 我喜欢想象所有物体都像bel-air的新王子一样说话. (4认同)