码迷,mamicode.com
首页 > Web开发 > 详细

html文本展示问题

时间:2017-03-08 13:15:23      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:转化   uila   span   uilabel   code   attrs   load   erro   需要   

xcode 6.0 以后常用的UILabel UITextView UIWebView 等都支持展示html文本。

当服务器传给你html文本的时候 你调用如下代码

NSAttributedString * attrStr =  [[NSAttributedString alloc] initWithData:[这里放你收到的字符串 dataUsingEncoding:NSUnicodeStringEncodingoptions:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];

将你收到的字符串转换成富文本NSAttributedString。

如果是用UITextView UIWebView展示。请使用attributedText 属性来接收。如 self.textView.attributedText = attrStr;

如果是UIWebView 进行展示则使用如下方式

 UIWebView * webView = [[UIWebView alloc]init];

  [webView loadHTMLString:attrStr baseURL:nil];//调用左边方法展示html文本。

 

另外你的服务器人员可能为你着想,在传输文本时就进行了一次转换导致你收到的文本中带有很多如 gl \; br;  等这种字符。

请告诉服务器人员不需要转换,我们只需要转带<br/> 这种类型字符的string就可以了。

否则你要进行两次转化,调用两次上面提到的转换方法。并且在第一次转化完成后要将得到的富文本NSAttributedString再转回普通文本NSString。

然后用NSString 再次进行转换。然后再一次进行转化。同时在第一次转换时xcode会自动在末尾为你加上一段带有字符属性的字符串。

你得想办法去掉它。超级不建议这么做。

html文本展示问题

标签:转化   uila   span   uilabel   code   attrs   load   erro   需要   

原文地址:http://www.cnblogs.com/luobenpaidui/p/6518398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!