UIWebView

时间:2017-09-05 02:19:18

标签: ios xcode asset-catalog

Xcode 9在iOS项目中向前迈出了一步。它显然会保留源PDF,以便可以根据需要以完整的质量生成图像。

我想知道是否可以从UIWebView中的HTML访问这些图像?

我可以想象三种可能的方法:

  1. 您在HTML或CSS中可以识别和替换的一些魔法。例如:

    <img src={{Asset Name}}>

  2. 了解命名方案以获取资产。例如:

    <img src="some/path/asset~ipad@3x">

  3. 在UIWebView外“渲染”图像并将其传入。

  4. 这些都有可能吗?还有另一种方式吗?

    考虑到我们带有向量的距离,我不得不预先渲染每个图像变体,如果我不需要,则将它们打包到资产目录之外。

1 个答案:

答案 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