【发布时间】:2016-12-14 03:39:44
【问题描述】:
我想用 webView 加载本地资源。我用 UIWebView 和 WKWebView 构建了一个演示,用下面的代码做一些测试。
let uiWebView = UIWebView(frame: self.view.bounds)
self.view.addSubview(uiWebView)
let wkWebView = WKWebView(frame:CGRect(x: 0, y: 400, width: 500, height: 500))
self.view.addSubview(wkWebView)
let path = Bundle.main.path(forResource:"1", ofType: "png")
guard let realPath = path else {
return
}
let url = URL(string: realPath)
let fileUrl = URL(fileURLWithPath: realPath)
if let realUrl = url {
uiWebView.loadRequest(URLRequest(url:realUrl))
wkWebView.load(URLRequest(url:realUrl))
}
// uiWebView.loadRequest(URLRequest(url:fileUrl))
// wkWebView.load(URLRequest(url:fileUrl))
uiWebView 可以加载资源,wkWebView 不能。但是如果我使用
uiWebView.loadRequest(URLRequest(url:fileUrl))
wkWebView.load(URLRequest(url:fileUrl))
uiWebView 和 wkWebView 都可以正常工作。 我很困惑,谁能为我解释一下: 我不应该将 URL(string: realPath) 用于本地资源吗?但是为什么 UIWebView 可以使用呢?
【问题讨论】: