如何使用 swift 在 IOS 应用程序中解释 HTML

How interpret HTML in IOS app using swift

我正在尝试实现我的第一个 iphone 应用程序,但我有点卡住了。我有 API 其中 return 作为 JSON 的响应项目之一 HTML 内容(标签 like p, img, em, a 等)。

解释 IOS 上 HTML 内容的最佳方式是什么?我基本上找到了两种可能的解决方案:

1) UIWebView

我试过了,所有内容都很容易加载。但不确定它是否是好方法?我想每次用户打开此视图时,所有图像 (<img src="">) 都是从互联网加载的(我无法控制下载和缓存图像?)?我也不确定如何在 webView 中设置元素样式?

2) UILabel / UITextView

我也试过了,我可以轻松删除所有 html 标签,但我不知道如何设置最初包含在 html 标签中的文本的样式?我想我会解析完整 html 并手动渲染它?

我会很高兴得到每一个建议,因为我不确定继续下去的正确方法是什么。

谢谢。

在 Swift 中查找 字符串操作。这是管理 Web 内容的一种非常基本的方法,但它会给您很好的控制权。但是我真的不建议使用 API return html 响应,因为 "Parsing" 它会非常消耗资源(CPU,RAM)。尝试使用 API 和 JSON 响应。另外如果你想缓存。查查kingfisherframework.it真高效!

经过一些研究,我认为正确的方法是使用 UIWebView。因为 UILabel 只能解释基本的 HTML 标记,而且我得到更复杂的 HTML 代码,如 youtube 嵌入等

您可以使用 UIWebView 的方法 loadHTMLString.

轻松加载 HTML 字符串

HTML 内容可以使用本地 css 设置样式。您可以使用以下方法获取本地 css 文件的路径:

NSBundle.mainBundle().URLForResource("myCssFile", withExtension: "css")

如果您有 css 的本地路径,您可以照常将其添加到 html header。

如果有人知道如何更好地做到这一点,我仍然会很高兴提出任何想法。