如何在ios标签中显示html格式的文本

我想在IOS中的UILabel上显示html格式的文本。

在Android中,它有像这样的.setText(Html.fromHtml(somestring));

从XML格式的string资源中设置TextView文本

我想知道什么/如果在iOS中有相当的?

我search并find这个线程:

如何从iPhone上的API显示HTML文本?

但它build议使用UIWebView 。 我需要在每个表格单元格中显示html格式的string,所以我认为每行1个webview似乎有点沉重。

那还有其他的吗?

谢谢。

对于Swift 2.0

 var attrStr = try! NSAttributedString( data: "<b><i>text</i></b>".dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true)!, options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) label.attributedText = attrStr 

Swift 3.0

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

你可以尝试一个属性string:

 var attrStr = NSAttributedString( data: "<b><i>text</i></b>".dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true), options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil, error: nil) label.attributedText = attrStr 
 Try this: let label : UILable! = String.stringFromHTML("html String") func stringFromHTML( string: String?) -> String { do{ let str = try NSAttributedString(data:string!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true )!, options:[NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: NSNumber(unsignedLong: NSUTF8StringEncoding)], documentAttributes: nil) return str.string } catch { print("html error\n",error) } return "" } Hope its helpful.