HTML 格式化 swift

HTML Formatting in swift

我正在从我的网络服务中获取这样的内容

<Strong>some unicode characters</Strong>
<iframe src="https://www.youtube.com/embed/<some_ID>" width="640" height="480" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

当我将此字符串直接加载到 UIWebView 时,它是黑色的。但我想把它做成白色。

  1. 如何在 swift
  2. 中更改它的颜色
  3. 还需要将此视频的宽度更改为当前 UIView 宽度

我该怎么做?

您可以使用 Javascript 添加一些样式并调整视频大小:

override func viewDidLoad() {
    super.viewDidLoad()

    let html = "..."
    webView.delegate = self
    webView.loadHTMLString(html, baseURL: nil)
}

func webViewDidFinishLoad(webView: UIWebView) {
    let url = NSBundle.mainBundle().URLForResource("script", withExtension: "js")!
    let javascript = try! String(contentsOfURL: url)

    webView.stringByEvaluatingJavaScriptFromString(javascript)
}

以及script.js的内容:

var title = document.body.getElementsByTagName('strong')[0]
title.style.color = 'blue'
title.style.display = 'block'

var iframe = document.body.getElementsByTagName('iframe')[0]
iframe.style.width = '100%'
iframe.height = document.body.offsetHeight - title.offsetHeight