【问题标题】:Customizing style of html string in WKWebView在 WKWebView 中自定义 html 字符串的样式
【发布时间】:2017-01-16 14:36:53
【问题描述】:

首先让我指出我只是初学者,我可能会遗漏一些东西,但我真的需要帮助来弄清楚如何完成工作。

我已经能够使用 https://github.com/tadija/AEXML 解析器从网址解析 xml。

接下来,在 WKWebView 上,我使用 .loadHTMLString 方法仅获取 xml 的内容节点:

 webView.loadHTMLString(xml.root["channel"]["item"]["content"].string, baseURL: nil)

现在,我的 webView 显示了内容,但我需要格式化样式。 我已经搜索了几个小时,我能找到的最接近的答案是我应该使用 .css 文件,这是有道理的,我已经有自定义样式的 css 文件,但我无法实现它。据我可以从类似的问题中得出结论:在 .loadHTMLString 方法中,我应该在 baseURL 中使用该自定义 css 文件(如果是这种情况,如果有人能解释如何做到这一点,我将不胜感激);或者答案在于我非常陌生的 WKUserContentController。

如果有任何帮助,我将不胜感激。

非常感谢。

【问题讨论】:

标签: ios swift user-agent wkwebview


【解决方案1】:

您需要将 css 文件链接到您的 html 中。如果你有一个外部 css(我相信你有:-))文件添加

<link rel="stylesheet" type="text/css" href="mystyle.css">

或者,您可以实现内联或内部 css

JFY

在 head 标签的某处添加 内部css:

<style>
body {
background-color: linen;
}

h1 {
color: maroon;
margin-left: 40px;
} 
</style>

内联css:

<h1 style="color:blue;margin-left:30px;">This is a heading.</h1>

希望对你有帮助!快乐编码:)

【讨论】:

  • 嘿@George_v 谢谢你的回答。我确实有一个文件 mystyle.css 我在我的 xcode 项目中导入。如果我理解正确,我应该添加一个字符串: 从 xml 提要到我的 html 字符串?应该是简单的字符串拼接吧?
  • 你应该在html文件中添加它,你可以分享它的代码吗?
  • 最后我设法通过添加 到 html 像@George_v 说的那样解决了这个问题,但是还有一步:.loadHTMLString 方法中的 baseURL 必须设置为 Bundle.main.resourceURL
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 2021-08-05
  • 2012-08-28
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
相关资源
最近更新 更多