我的应用程序中有一个 UI webView
,如果我按下重新加载,web View 会重新加载,那么它可以正常工作,所以到目前为止一切都很好,
假设我关闭互联网并加载我的应用程序并且网页是空白的,现在我重新连接到互联网并打开我的应用程序重新加载页面但我的页面仍然是空白并且没有加载页面。
现在要让我的应用程序正常运行,我必须退出我的应用程序并重新启动该应用程序,但这并不方便。
请帮忙。
最佳答案
您需要检测设备的网络状态变化。
这answer (方法 2)将逐步向您展示如何做到这一点。如果设备从 WiFi 更改为 3G,或者从 WiFi 更改为未连接到互联网,每次都会调用 checkNetworkStatus
方法。
当网络状态改变时重新加载你的 UIWebView。您的 checkNetworkStatus
应如下所示:
-(void) checkNetworkStatus:(NSNotification *)notice
{
// called after network status changes
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
switch (internetStatus)
{
case NotReachable:
{
NSLog(@"The internet is down.");
self.internetActive = NO;
//show an alertView saying the device has no internet connection.
break;
}
case ReachableViaWiFi:
{
NSLog(@"The internet is working via WIFI.");
self.internetActive = YES;
//reload UIWebView
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
[self.webView loadRequest:nsrequest];
break;
}
case ReachableViaWWAN:
{
NSLog(@"The internet is working via WWAN.");
self.internetActive = YES;
//reload UIWebView
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
[self.webView loadRequest:nsrequest];
break;
}
}
// anything else
}
关于ios - 关闭和打开互联网连接后,UIWebview 不加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25474042/