在webview中加载iOS静态图像

时间:2016-04-13 08:55:22

标签: ios swift webview

我想在webview中显示来自CachesDirectory的本地图像。 webview无法加载它。捆绑包不包含图像!

我从服务器下载图像但是我有一个带有图像标记的本地HTML文件。我该怎么做?

图片存在的路径:

  

/用户/ adambella /库/开发商/ CoreSimulator /设备/ BFA8C179-EBC5-49A7-95F3-1ABA202F44AD /数据/容器/数据/应用/ 746BE86B-33D7-4A6F-8C4C-0E4453FE374C /库/缓存/迅速。 imageloader.diskcached /

有人能给我一个简短的例子吗?

我使用ImageLoader下载了它。 名称的路径:

var path: String {
    let cacheDirectory = NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true)[0]
    let directoryName = "swift.imageloader.diskcached"

    return cacheDirectory + "/" + directoryName
}

let filePath = NSBundle.mainBundle().pathForResource("example", ofType: "html",inDirectory: "Directory")

let urlToFile = NSURL(fileURLWithPath: filePath!)

let request = NSURLRequest(URL: urlToFile, cachePolicy: .ReturnCacheDataElseLoad, timeoutInterval: 10.0)

和webViewDidFinishLoad方法:

webview2.stringByEvaluatingJavaScriptFromString("testImage('\(path)')")
html文件中的

功能:

function testImage(url) {
    var mapDiv = document.getElementById("map");
    mapDiv.innerHTML = "<img src=file://" + url + "/>";
}

1 个答案:

答案 0 :(得分:0)

这是Swift 4.2代码。

您可以在

基本URL中设置图像URL

web.loadRequest(URLRequest.init(url: baseURL!))

如有任何疑问,请发表评论