ios用lable和textview加载html标签

Posted 小小程序员的日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios用lable和textview加载html标签相关的知识,希望对你有一定的参考价值。

根据应用需求,需要将后台传过来的html标签文本显示在页面上,首先想到的是用WKWebview显示可以实现,尝试用lable加载html,代码以及效果如下所示,发现表格的边框样式加载不出来

NSString *str = @"罗梦槐,您好!您的借款项目【0903.按月3.02】债权转让已经完成,当前持有信息如下:<table  border=\'1\' cellpadding=\'0\' width=\'80%;\' cellspacing=\'0\'><tr><td align=\'center\'>用户名</td><td align=\'center\'>债权持有金额</td></tr><tr><td align=\'center\'>13944831072</td><td align=\'center\'>2200.00</td></tr><tr><td align=\'center\'>13944831077</td><td align=\'center\'>600.00</td></tr><tr><td align=\'center\'>13944831078</td><td align=\'center\'>200.00</td></tr><tr><td align=\'center\'>13944831078</td><td align=\'center\'>200.00</td></tr><tr><td align=\'center\'>13944831078</td><td align=\'center\'>1800.00</td></tr><tr><td align=\'center\'>13944831078</td><td align=\'center\'>800.00</td></tr><tr><td align=\'center\'>13944831079</td><td align=\'center\'>400.00</td></tr></table>";
    
UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(15, 100, K_SCREEN_WIDHTH-30, 300)];
lab.numberOfLines = 0;
[self.view addSubview:lab];

NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[str dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
lab.attributedText = attrStr;
lab.font = [UIFont systemFontOfSize:15];

然后抱着试试的心态用textview加载html标签发现边框样式可以显示出来了,应该是底层内部对lab和textview做了不同的处理,代码以及效果如下

UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(15, 400, K_SCREEN_WIDHTH-30, 300)];
textView.userInteractionEnabled = NO;
[self.view addSubview:textView];

NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[str dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
textView.attributedText = attrStr;
textView.font = [UIFont systemFontOfSize:15];

 

总结textView和lable都可以加载html标签内容,但是textview相比于lable可以同时加载出标签里的样式,当然通过webview也可以实现对html的加载但是相对更耗内存这里不建议使用,希望对遇到同样问题的朋友有帮助

以上是关于ios用lable和textview加载html标签的主要内容,如果未能解决你的问题,请参考以下文章

点击lable标出现下拉搜索框及选择功能

iOS中TextView显示HTML文本

android如何实现 textview加载html显示gif格式图片最后又demo

IOS设置导航栏字体大小及颜色

Android中Textview加载HTML方法——RichText富文本解析器

Android中Textview加载HTML方法——RichText富文本解析器