【发布时间】:2012-07-21 21:01:13
【问题描述】:
我有一个加载单个 UIWebView 的简单 iOS 本机应用程序。如果应用程序未在 20 秒内完全加载 webView 中的初始页面,我希望 webView 显示错误消息。
我在viewDidLoad 中加载 webView 的 URL,如下所示(简化):
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];
上面代码中的 timeoutInterval 实际上并没有“做”任何事情,因为 Apple 在操作系统中将其设置为实际上不会超时 240 秒。
我设置了webView didFailLoadWithError 操作,但如果用户有网络连接,则永远不会调用它。 webView 只是继续尝试加载我的 networkActivityIndicator 旋转。
有没有办法为 webView 设置超时?
【问题讨论】:
-
这里有人说超时间隔是为了连接。一旦它连接到服务器,它就不会再抛出错误了。您需要在 webViewDidStartLoad 连接后实现自己的 NSTimer 并自行取消 stackoverflow.com/questions/1883888/…
-
这看起来正是我正在寻找的......你能给我一些关于如何实现它的指导吗? (我是 Objective-C 的新手)
-
我只需要知道该放什么:
-(void)webView: NSTimer * theTimer { NSLog(@"Me is here at 1 minute delay"); }我会使用哪种目标方法? -
我刚刚写了一个非常基本的代码,你可能想从它开始:) 希望对你有帮助
标签: xcode ios5 uiwebview timeout loading