xcode – iOS App – 设置UIWebView加载超时
发布时间:2020-12-15 02:03:41 所属栏目:百科 来源:网络整理
导读:我有一个简单的iOS本机应用程序加载一个UIWebView。如果应用程序不完全在20秒内完成在WebView中加载初始页面,我希望webView显示错误消息。 我加载我的视图中的webView的URLDidLoad像这样(简化): [webView loadRequest:[NSURLRequest requestWithURL:[NSURL
我有一个简单的iOS本机应用程序加载一个UIWebView。如果应用程序不完全在20秒内完成在WebView中加载初始页面,我希望webView显示错误消息。
我加载我的视图中的webView的URLDidLoad像这样(简化): [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]]; 上面的代码中的timeoutInterval实际上并不“做”任何事情,因为苹果已经在操作系统中设置了240秒,实际上没有超时。 我有我的webView didFailLoadWithError操作设置,但如果用户有一个网络连接,这从来没有被调用。 webView只是继续尝试加载我的networkActivityIndi??cator旋转。 有没有办法为webView设置超时? 解决方法
timeoutInterval用于连接。一旦webview连接到URL,您将需要启动NSTimer并执行自己的超时处理。就像是:
// define NSTimer *timer; somewhere in your class - (void)cancelWeb { NSLog(@"didn't finish loading within 20 sec"); // do anything error } - (void)webViewDidFinishLoad:(UIWebView *)webView { [timer invalidate]; } - (void)webViewDidStartLoad:(UIWebView *)webView { // webView connected timer = [NSTimer scheduledTimerWithTimeInterval:20.0 target:self selector:@selector(cancelWeb) userInfo:nil repeats:NO]; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |