label加载网络字符串,含图片和文字
NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc]initWithData:[model.noticeContent dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType} documentAttributes:nil error:nil];
self.contentLabel.attributedText = attribute;
//设置富文本的 属性
- (NSMutableAttributedString *)getHtmlStringWithString:(NSString *)string {
NSDictionary *options = @{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute : @(NSUTF8StringEncoding)};
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
// 设置段落格式
NSMutableParagraphStyle *para = [[NSMutableParagraphStyle alloc] init];
para.lineSpacing = 8;
para.minimumLineHeight = 16.0F;
[attStr addAttribute:NSParagraphStyleAttributeName value:para range:NSMakeRange(0, attStr.length)];
// 设置文本的Font
[attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, attStr.length)];
// [attStr addAttribute:NSForegroundColorAttributeName value:ColorFromRGB(103, 103, 103, 1.0) range:NSMakeRange(0, attStr.length)];
return attStr;
}
计算富文本的高度 (我是在属性里面定义的最小的行高 para.minimumLineHeight)
CGSize attSize = [[CommonHelper getHtmlStringWithString:self.eduContent] boundingRectWithSize:CGSizeMake(SCREEN_WIDTH-24, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;