首页 > 解决方案 > 在swift IOS中更改html文本中图像的宽度和高度

问题描述

我有从服务器返回的 html 文本,我在 IOS 客户端上使用 UITextView 来呈现文本。我首先将 html 字符串转换为属性字符串,然后枚举属性并根据需要更改文本的字体、前景色。最后我设置了 UiTextView 的属性文本。但是,当 html 包含图像时,我看到它们在 UITextView 中呈现时被截断。

关于如何更改 html 文本中包含的图像的宽度和高度以适合我的手机屏幕宽度的任何指示?

标签: iosswift

解决方案


我使用SwiftSoup从 html 中提取数据或编辑 HTML 字符串。我还发现,当图像出现时,在WKWebView.

此示例还有助于在 WKWebView 中添加对暗模式的支持。

var newsRssBody: String = ""
let css = "@media (prefers-color-scheme: dark) {body { background-color: rgb(38,38,41); color: white; } a:link { color: #0096e2; } a:visited { color: #9d57df; } }"
try doc.head()?.append("<style>\(css)</style>")
self.newsRssBody = "\(doc)"

headerString 行有助于根据设备调整内容大小。

let headerString = "<header><meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no'></header>"
self.webView.loadHTMLString(headerSting + self.newsRssBody, baseURL: nil)

推荐阅读