Swift:Webview提示对话框,在网络不可用时重新加载当前页面

时间:2015-09-02 06:01:14

标签: ios swift http wkwebview

我是iOS App开发的新手。我有一个用Swift编写的示例App。 我在我的Web应用程序中使用WKWebView。

但是,当移动网络/ Wifi不可用时。它显示空白屏幕。

我想提示一个对话框,以便在当时向用户刷新当前页面 1.如果没有网络 2.我的服务器无法访问。

1 个答案:

答案 0 :(得分:0)

使用WebView委托方法查找网络错误。

-(void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error
{
    NSString *str = [NSString stringWithFormat:@"%li",(long)error.code];
    if ([str isEqualToString: @"-1009"])//network unavailable error code
    {
        UIAlertView *alertView=[[UIAlertView alloc] initWithTitle:@"Network Error" message:@"Internet or Wifi is not available. Please check your network connection & try again." delegate:self cancelButtonTitle:@"Retry" otherButtonTitles:nil];
        [alertView show];
        str = @"";
    }
    NSLog(@"%@",[super appUrl]);

}

然后在AlertView委托方法

中重试
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if(buttonIndex==0){
        if ([super appUrl]) {
            NSURLRequest* appReq = [NSURLRequest requestWithURL:yourURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20.0];
            [self.webView loadRequest:appReq];
        }    }
}

P.S。使用类似于使用swift。