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
时,它是黑色的。但我想把它做成白色。
- 如何在 swift
中更改它的颜色
- 还需要将此视频的宽度更改为当前
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
我正在从我的网络服务中获取这样的内容
<Strong>some unicode characters</Strong>
<iframe src="https://www.youtube.com/embed/<some_ID>" width="640" height="480" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
当我将此字符串直接加载到 UIWebView
时,它是黑色的。但我想把它做成白色。
- 如何在 swift 中更改它的颜色
- 还需要将此视频的宽度更改为当前
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