1

我有一个在 WKWebView 上使用来显示本地文件路径的应用程序。它转到另一个视图控制器,然后使用新的 html 文件路径展开到原始控制器。我已经让它加载新的文件路径,但只有在索引文件闪烁一秒钟之后。无论如何要清除此视图?

覆盖 func 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)
  }
}

}

4

1 回答 1

1

您可能会有这种行为,因为它可能会在加载新 URL 前一秒在 webview 中显示上一个 URL。我可以建议一种解决方法,例如当视图消失时在 webView 上加载一个空白视图(viewWillDisAppear 方法):

在您的主视图控制器中尝试添加以下内容:

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    let url = URL(string: "about:blank")
    let request = URLRequest(url: url!)
    myGraphView.loadRequest(request)
}
于 2019-01-22T23:03:51.990 回答