xcode – iOS App – 设置UIWebView加载超时

xcode – iOS App – 设置UIWebView加载超时,第1张

概述我有一个简单的iOS本机应用程序加载一个UIWebView。如果应用程序不完全在20秒内完成在WebView中加载初始页面,我希望webView显示错误消息。 我加载我的视图中的webView的URLDidLoad像这样(简化): [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www. 我有一个简单的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];}
总结

以上是内存溢出为你收集整理的xcode – iOS App – 设置UIWebView加载超时全部内容,希望文章能够帮你解决xcode – iOS App – 设置UIWebView加载超时所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1074178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存