2017-10-21 60 views
1

J'ai fait ce webview et je veux montrer un message d'erreur quand il n'y a pas de connexion Internet ou perdre la connexion Internet, tout en utilisant l'application.Swift: comment afficher un message d'erreur dans le webview quand il n'y a pas de connexion internet?

Ceci est mon code:

import UIKit 


class FirstViewController: UIViewController, UIWebViewDelegate { 

    @IBOutlet weak var webView1: UIWebView! 

    var refreshControl:UIRefreshControl? 

    @IBOutlet weak var activityIndicator: UIActivityIndicatorView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     webView1.delegate = self 


     let url = URL(string: "https://pharmacyuni.blogspot.com") 
     webView1.loadRequest(URLRequest(url: url!)) 
    } 


    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func goBack(_ sender: Any) { 
     webView1.goBack() 
    } 


    func webViewDidStartLoad(_ webView: UIWebView) 
    { 
     activityIndicator.startAnimating() 
    } 
    func webViewDidFinishLoad(_ webView: UIWebView) 
    { 
     activityIndicator.stopAnimating() 
    } 


    @IBAction func refreshButton(_ sender: Any) { 
     webView1.reload() 
    } 

} 

Répondre

1

Vous pouvez utiliser la méthode déléguée:

func webView(_ webView: UIWebView, didFailLoadWithError error: Error) { 
    print("webview did fail load with error: \(error)" 

    let message: String = error.localizedDescription 

    let alert = UIAlertController(title: "something", message: message, preferredStyle: .alert) 
    alert.addAction(UIAlertAction(title: "Ok", style: .default) { action in 
    // use action here 
    }) 
    self.present(alert, animated: true) 
} 
+0

Mais comment montrer à l'utilisateur un message d'alerte? –

+0

Désolé :) vous pouvez utiliser UIAlertController! J'ai édité la réponse. –

+0

Ça a marché! JE VOUS REMERCIE! : D –