IOS 开发

UILabel加载html并计算高度

2019-09-15  本文已影响0人  honey缘木鱼
设计需求图

需求: 每个列表都有对应的规则,这些规则是html ,需要得到html的高度计算出每个cell的高度。

一.先把HTMLString 转化为NSAttributedString

- (NSAttributedString *)attributedStringWithHTMLString:(NSString *)htmlString
{
NSDictionary *options = @{ NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute :@(NSUTF8StringEncoding) };
NSData *data = [htmlString dataUsingEncoding:NSUTF8StringEncoding];
return [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
}

二.计算HTMLString高度

方法一.

 CGFloat h =  [_tipLabel.attributedText boundingRectWithSize:CGSizeMake(_bgView.width-30, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin context:nil].size.height;

方法二.

 CGFloat h1 = [_tipLabel sizeThatFits:CGSizeMake(_bgView.width-30,CGFLOAT_MAX)].height;

注意:
UILabel要设置换行,_tipLabel.numberOfLines = 0;

上一篇下一篇

猜你喜欢

热点阅读