iOS label显示HTML(富文本)代码 (解析)并实现高度自适应

2023-05-16

网络解析后 有一个HTML字符串 需要在label显示(一般是要求显示的内容有颜色 字体 背景颜色的变化) 如果不做处理 显示的就是HTML代码内容 处理方法如下

已知网络请求得到一个HTML 字符串 self.HTMLstring
1.富文本显示 不考虑高度自适应
 NSMutableAttributedString *str=  [[NSMutableAttributedString alloc] initWithData:[self.HTMLstring dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:nil error:nil];
 [str addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:17.0] range:NSMakeRange(0, str.length)];
 synthesizeCell.nameLabel.attributedText =  str;

2.富文本label的高度自适应
 NSMutableAttributedString *str=  [[NSMutableAttributedString alloc] initWithData:[self.HTMLstring dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:nil error:nil];
[str addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:14] range:NSMakeRange(0, str.length)];(字体font是自定义的 要求和要显示的label设置的font一定要相同)
CGRect rect = [self.contentLabel.attributedText boundingRectWithSize:CGSizeMake(WIDTH - 30 *FITWIDTH, 0) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
self.contentLabel.frame = CGRectMake(15 *FITWIDTH, 10 *FITWIDTH, WIDTH - 30 *FITWIDTH, rect.size.height);
self.contentLabel.attributedText =  str;


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS label显示HTML(富文本)代码 (解析)并实现高度自适应 的相关文章

随机推荐