作为iOS9的一部分,我们在WKWebView中引入了新方法loadData()。
我有NSData对象,它是我想在WKWebView中呈现的UIImageJPEGRepresentation的输出。在iOS9之前,为了在wkwebview中渲染图像,我是:
我希望利用新的iOS9方法,我可以直接调用wkwebview.loadData(nsdata,MIMEType:" image",characterEncoding:" ASCII",baseURL:NSURL ("随机&#34))
我无法使用上面的loadData调用渲染图像。可能是我传递给MIMEType,characterEncoding和baseUrl的params的问题。无法在任何地方找到此方法调用的任何示例。
注意:
答案 0 :(得分:0)
这对我有用:
if let path = NSBundle.mainBundle().pathForResource("Test", ofType: "jpg") {
if let data = NSData(contentsOfFile: path) {
webView.loadData(data, MIMEType: "image/jpeg",
characterEncodingName: "", baseURL: NSURL(string: "")!)
}
}
characterEncodingName
和baseURL
看起来有点奇怪,但我怀疑它们与加载image/jpeg
类型数据有关。
答案 1 :(得分:0)
这可能是一个较晚的答案,我们在一个项目中遇到了类似的问题,一种解决此问题的方法是通过将内容嵌入html来利用html的功能。
func loadDataContent(data:Data,mimeType:String) {
let urlStr = "<iframe width=\"100%\" height=\"100%\" src=\"data:\(mimeType);base64,\(data.base64EncodedString())\"></iframe>"
webBrowser?.loadHTMLString(urlStr, baseURL: nil)
}