Проверьте, загружен ли UIWebView в Swift - PullRequest
0 голосов
/ 28 апреля 2018

Я делаю приложение, которое загружает UIWeb View и запускает строку кода в момент полной загрузки веб-страницы.

Я использую такой код для загрузки веб-страницы:

    let links = URL (string: "https://example.com")
    let loadpage = URLRequest(url: links!)
    webPage.loadRequest(load)

Как я могу запустить кусок кода в момент создания веб-страницы? Я пробовал несколько примеров в Интернете, но веб-страница перестает загружаться при проверке загрузки?

Спасибо!

1 Ответ

0 голосов
/ 28 апреля 2018

Как указано в документации UIWebView, для приложений, ориентированных на iOS8 или более позднюю версию, следует использовать WKWebView.

При использовании WKWebView вы можете привести свой класс в соответствие с WKNavigationDelegate, и метод делегата func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) будет вызван, когда веб-просмотр завершит загрузку сетевого запроса.

Если по какой-то причине вы все еще нацеливаетесь на iOS7 или любые предыдущие версии iOS и, следовательно, используете UIWebView, вы можете вместо этого использовать метод UIWebViewDelegate func webViewDidFinishLoad(_ webView: UIWebView).

Скелетный код для решения UIWebView:

class WebVC: UIViewController {
    @IBOutlet weak var webView: UIWebView!

    override func viewDidLoad() {
        webView.delegate = self
        let url = URL(string: "https://example.com")
        let request = URLRequest(url: url)
        webView.loadRequest(request)
    }
}

extension WebVC: UIWebViewDelegate {
    func webViewDidFinishLoad(_ webView: UIWebView) {
        print("Finished loading")
    }
}
...