// 生成AttributeString
-(NSAttributedString *)attributeWithLineSpace:(CGFloat)lineSpace font:(UIFont *)font color:(UIColor *)color withText:(NSString *)text{
NSParameterAssert(font && color);
if (text.length == 0) return nil;
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineSpacing = lineSpace; //设置行间距
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
paragraphStyle.alignment = NSTextAlignmentLeft;
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text attributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:color}];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [text length])];
return [attributedString copy];
}
// 根据AttributeString计算高度
NSAttributedString *explaintAtt = [self attributeWithLineSpace:8 font:[UIFont pf_MediumFontOfSize:14] color:HEX_RGBA(0x333331, 1) withText:_newsModel.explain];
CGSize size = [explaintAtt boundingRectWithSize:CGSizeMake(SCREEN_WIDTH() - 44 - 33 , MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size;
// 注意这里取整加1
CGFloat height= ceil(size.height) + 1;
UILabel和UITextView的宽、高、行数等
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。