2016-12-03 5 views
2

Ich habe Frage, wie kann ich die URL von der webView holen? Ich führe den folgenden Code und ich erhalte die nilWie bekomme ich die URL von webView in swift

-Code Ich versuche:

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 
    webView.loadRequest(URLRequest(url: URL(string: "https://www.youtube.com/watch?v=Vv2zJErQt84")!)) 
    if let text = webView.request?.url?.absoluteString{ 
     print(text) 
    } 
} 

Antwort

7

Sie sind nicht url bekommen, weil webView das Laden, dass nicht beendet hat URL angefordert, können Sie bekommen, dass URL in webViewDidFinishLoad Methode von UIWebviewDelegate. Dazu müssen Sie Delegat von webView mit Ihrem aktuellen ViewController festlegen und UIWebviewDelegate implementieren müssen.

webView.delegate = self 

Jetzt können Sie Strom erhalten geladen URL von webView in webViewDidFinishLoad Verfahren.

func webViewDidFinishLoad(_ webView: UIWebView) { 
    if let text = webView.request?.url?.absoluteString{ 
     print(text) 
    } 
} 
+0

es funktioniert Vielen Dank –

+0

Welcome Kumpel @HaiderAhmed :) –

0

Hier ist eine Swift 3 Version, stellen Sie sicher, dass Sie UIWebViewDelegate in Ihrer Klasse dseclaration hinzugefügt haben, und setzen webView.delegate = self in viewDidload():

func webViewDidFinishLoad(_ webView: UIWebView) { 
    UIApplication.shared.isNetworkActivityIndicatorVisible = false 

    let urlString = webView.request!.url!.absoluteString 
    print("MY WEBVIEW URL: \(urlString)") 
} 
Verwandte Themen