关闭和打开互联网连接后,UIWebview不会加载页面

时间:2014-08-24 16:53:21

标签: ios uiwebview internet-connection

我的应用程序中有一个UI webView,如果按重新加载,网页视图会重新加载,所以到目前为止一切都很好,

让我说我关闭我的互联网并加载我的应用程序和网页是空白的,现在我重新连接到互联网并打开我的应用程序重新加载页面但我的页面仍然是空白,不加载页面。

现在要让我的应用程序正常工作,我必须退出我的应用程序并重新启动应用程序,但这不方便。

请帮忙。

2 个答案:

答案 0 :(得分:1)

试试此代码段

 - (void)viewWillAppear:(BOOL)animated {
    [webView reload]; //your webview instance 
    }

答案 1 :(得分:1)

您需要检测设备的网络状态更改。 这个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
}