2016-06-24 4 views
0

Я получаю содержание, как это от моего веб-службыHTML форматирование в быстром

<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. Как изменить цвет этого в быстрой
  2. Также необходимо изменить ширину этого видео на текущий UIView ширина

Как я могу это сделать?

+0

Кажется дублируют см это - HTTP: // StackOverflow. com/questions/25607247/how-do-i-decode-html-entities-in-swift – Santosh

ответ

0

Вы можете использовать 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 
+0

Спасибо :) отлично работаю для цвета. Но мое видео исчезло, когда веб-просмотр закончил загрузку? В чем причина этого? – user1960169

Смежные вопросы