Как я могу очистить WKWebView при попытке добавить новый веб-вид из раскрутки segue? - PullRequest
0 голосов
/ 23 января 2019

У меня есть приложение, которое использует WKWebView для отображения локальных путей к файлам.Он переходит к другому контроллеру представления, затем раскручивается к исходному контроллеру с новым путем к файлу html.Я получил его загрузки нового пути к файлу, но только после того, как индексный файл мигает в течение секунды.В любом случае, чтобы очистить эту точку зрения?

переопределить функцию viewWillAppear (_ animated: Bool) {

если unwindingFromPost == true {

      let htmlPath = Bundle.main.path(forResource: "card/card", ofType: "html", inDirectory: "pickles_ui")

      let url = URL(fileURLWithPath: htmlPath!)
      let request = URLRequest(url: url)

      webView.scrollView.bounces = false

      webView.load(request)

    } else {
        let htmlPath = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: "pickles_ui")

        let url = URL(fileURLWithPath: htmlPath!)
        let request = URLRequest(url: url)

        webView.scrollView.bounces = false

        webView.load(request)
  }
}

}

1 Ответ

0 голосов
/ 23 января 2019

Такое поведение может иметь место, поскольку оно может отображать предыдущий URL-адрес в веб-просмотре, как секунда перед загрузкой нового. Я могу предложить обходной путь, например, загрузку пустого представления в веб-представление при исчезновении представления (метод viewWillDisAppear):

В вашем главном представлении Controller попробуйте добавить следующее:

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    let url = URL(string: "about:blank")
    let request = URLRequest(url: url!)
    myGraphView.loadRequest(request)
}
...