Xcode 9在iOS项目中向前迈出了一步。它显然会保留源PDF,以便可以根据需要以完整的质量生成图像。
我想知道是否可以从UIWebView中的HTML访问这些图像?
我可以想象三种可能的方法:
您在HTML或CSS中可以识别和替换的一些魔法。例如:
<img src={{Asset Name}}>
了解命名方案以获取资产。例如:
<img src="some/path/asset~ipad@3x">
在UIWebView外“渲染”图像并将其传入。
这些都有可能吗?还有另一种方式吗?
考虑到我们带有向量的距离,我不得不预先渲染每个图像变体,如果我不需要,则将它们打包到资产目录之外。
答案 0 :(得分:2)
今天我需要将{{1>}从 XCAsset的呈现为UIWebView
。
我的要求是准备相应的HTML
并将其加载到UIWebView
中,如下所示
self.myWebView.loadHTMLString(html, baseURL: nil)
要从 XCAsset 加载图片,首先将图片加载到UIImage
,然后将其转换回Base64 Encoding
,然后将图片放入{{1}标签。
代码如下所示
<img>
对于便利性,我移动了let redClockImage = UIImage.init(named: "clock-red")!
let imageData:Data = UIImagePNGRepresentation(self)!
let base64String = imageData.base64EncodedString()
let html = """
//my html
<img src="data:image/png;base64, \(base64String)" />
//rest of my html
"""
//then i load this html into the webview
self.myWebView.loadHTMLString(html, baseURL: nil)
- &gt; UIImage
转换为an extension。