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

标签 ios swift wkwebview uivewcontroller

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

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

最佳答案

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

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

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

关于ios - 尝试从 unwind segue 添加新的 webView 时如何清除 WKWebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317655/

相关文章:

ios - 在 Facebook Messenger 的 UIActivityViewController 中发送图片 + url

swift - 如何声明 Dictionary<String, Decimal> 符合协议(protocol)

ios - Eureka 表单中的必填字段

swift - 无法从 iOS 中的 firebase 获取时间戳?

ios - 有没有使用 UIManagedDocument 的好例子?

ios - NSRange: range.location != NSNotFound 与 range.length > 0

html - wkwebview run local html (in document) Received an unexpected URL from the web 进程

ios - SSL 固定是否适用于 WKWebView

ios - WKWebView拦截链接点击

ios - 使用 Moment Tz 格式化日期