尝试从 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)
}
我有一个应用程序在 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)
}