2016-12-03 7 views
2

У меня вопрос, как я могу получить URL-адрес от webView? я выполнить следующий код, и я получаю nilКак я могу получить URL-адрес от webView в swift

код Я пытаюсь:

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) 
    } 
} 

ответ

7

Вы не получаете, потому что URL webView не закончил загрузку, передавшего URL, вы можете получить, что URL в webViewDidFinishLoad метод UIWebviewDelegate. Для этого вам необходимо установить делегат webView с вашим текущим ViewController и ему необходимо реализовать UIWebviewDelegate.

webView.delegate = self 

Теперь вы можете получить ток загружены URL из webView в webViewDidFinishLoad метода.

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

это работает большое спасибо –

+0

@HaiderAhmed Добро пожаловать родственную :) –

0

Вот Swift 3 версия, убедитесь, что вы добавили UIWebViewDelegate в своем классе dseclaration и установить webView.delegate = self в viewDidload():

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

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