2017-09-21 155 views
1

HTML內容示例:This is HTML Content.<div>This is <b>BOLD</b> text </div><div>This is <i> ITALIC </i> text</div> 這是要呈現的HTML內容並將其放置在UIImageView中,然後保存此圖像。 我試圖先渲染HTML內容並生成一個PDF,然後將該PDF轉換爲Image,但該圖像效果很差。所以這就是爲什麼我找到一些呈現我的HTML內容並添加到UIImageVIew中的東西,並且我會輕鬆地將該圖像保存在我的應用程序內存中。將HTML內容轉換爲圖像

+0

要'UIImageView'請解釋......具體到斯威夫特 –

+0

的UIImageView。 –

+0

你想把這個內容放到UIImageView中嗎?似乎更多的邏輯把它放在一個UITextView或UILabel ... –

回答

1

使用標籤嘗試此解決方案/ UITextView

將html文本設置爲您的標籤。

do { 
let attrStr = try NSAttributedString(
    data: "<b><i>text</i></b>".data(using: String.Encoding.unicode, allowLossyConversion: true)!, 
    options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], 
    documentAttributes: nil) 
yourLabel.attributedText = attrStr 
} catch let error { 
    print(error) 
} 

執行快照試試下面的代碼

UIGraphicsBeginImageContextWithOptions(yourLabel.bounds.size, 
false, 0); 
yourLabel.drawViewHierarchyInRect(yourLabel.bounds, afterScreenUpdates: true) 
let copied = UIGraphicsGetImageFromCurrentImageContext(); // You have to save this content in your internal memory 
yourImageView.image = copied // To Preview that Image in your ImageView 
UIGraphicsEndImageContext(); 
+1

完成這件事。但是使用「UITextView」而不是「LABEL」,因爲labelview不會渲染圖像,背景也會發生變化。 –

1

我不確定這一點,但你可以這樣做,就像在UIWebView呈現HTML。然後通過代碼截圖。

+0

我已經完成了。但使用這種方法的圖像質量很差。 –

+0

怎麼樣在UITextView中顯示它作爲NSAttributedstring然後截圖。 (正如上面的卡迪爾所說) –