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会自动在末尾为你加上一段带有字符属性的字符串。
你得想办法去掉它。超级不建议这么做。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结