我正在在一个Switft的操场上工作,并试图获取WebView以显示完整的HTML5内容,包括图像。目前,如果它来自网络,我就可以获取WebView以显示完整的HTML5内容,但仅在本地从操场上加载它的文字。
这是我来源的代码:
import Foundation
import WebKit
import Foundation
import UIKit
public class MyWebKitViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
public override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
public func loadLocalHtml(filename: String) {
let possiblePath = Bundle.main.path(forResource: filename, ofType: "html")
if let path = possiblePath {
let url = URL(fileURLWithPath: path)
webView.loadFileURL(url, allowingReadAccessTo: url)}
}
}
这是我用来调用LoadLocalHtml函数的代码:
import UIKit
import PlaygroundSupport
//Set current Playground View
let vc = MyWebKitViewController()
PlaygroundPage.current.liveView = vc
vc.loadLocalHtml(filename: "testing")
我尝试过其他人在这里发布的解决方案,但没有成功。在某些情况下,我获得了一个仅显示白色背景,但根本没有内容的网络浏览量。预先感谢您的任何帮助!
相同的问题。应该是这样的,但我不明白。看起来Swift Playgrounds有一种管理资源的不同方法。在Xcode Playground中,您的代码按预期工作
import UIKit
import WebKit
import PlaygroundSupport
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 375, height: 667))
if let url = Bundle.main.url(forResource: "index", withExtension: "html") {
let imageURL = Bundle.main.url(forResource: "image1", withExtension: "png", subdirectory: "images/")
webView.loadFileURL(url, allowingReadAccessTo: imageURL!)
}
PlaygroundPage.current.liveView = webView
如果您找到方法,请回答:]