标签:转化 uila span uilabel code attrs load erro 需要
xcode 6.0 以后常用的UILabel UITextView UIWebView 等都支持展示html文本。
当服务器传给你html文本的时候 你调用如下代码
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[这里放你收到的字符串 dataUsingEncoding:NSUnicodeStringEncoding] options:@{ 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会自动在末尾为你加上一段带有字符属性的字符串。
你得想办法去掉它。超级不建议这么做。
标签:转化 uila span uilabel code attrs load erro 需要
原文地址:http://www.cnblogs.com/luobenpaidui/p/6518398.html