尝试从 unwind segue 添加新的 webView 时如何清除 WKWebView?

How can I clear WKWebView when trying to add a new webView from unwind segue?

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

override func viewWillAppear(_ animated: Bool) {

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

}

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

在您的主 viewController 中尝试添加以下内容:

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