美文网首页
iOS 多种方式计算label的宽、高度(自适应)

iOS 多种方式计算label的宽、高度(自适应)

作者: 海边的遐想 | 来源:发表于2022-07-01 14:11 被阅读0次

//label的高度

CGSizetextMaxSize =CGSizeMake(kDeviceWidth,MAXFLOAT);

CGFloatlabelHeight = [self.ybt_help_contentboundingRectWithSize:textMaxSizeoptions:NSStringDrawingUsesLineFragmentOriginattributes:@{NSFontAttributeName: [UIFontsystemFontOfSize:14]}context:nil].size.height;

//求label的宽度

CGSizesize = [labelStrboundingRectWithSize:CGSizeMake(MAXFLOAT, height)options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeadingattributes:@{NSFontAttributeName: font}context:nil].size;

//设置不同字体颜色(富文本)

NSRangerange1 = {0,4};

NSRangerange2 = {4, totalPayStr.length-4};

NSMutableAttributedString*attriStr = [[NSMutableAttributedStringalloc]initWithString:totalPayStr];

//必须设置字体大小才能计算出实际宽度

[attriStrsetAttributes:@{NSForegroundColorAttributeName:Xun_Color(106,106,106),NSFontAttributeName: [UIFontsystemFontOfSize:12]}range:range1];

[attriStrsetAttributes:@{NSForegroundColorAttributeName:Xun_Color(195,0,119),NSFontAttributeName: [UIFontsystemFontOfSize:12]}range:range2];

subLabel.attributedText= attriStr;

CGFloatsubLabelWidth = [attriStrboundingRectWithSize:CGSizeMake(CGFLOAT_MAX,30)options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeadingcontext:nil].size.width;

相关文章

网友评论

      本文标题:iOS 多种方式计算label的宽、高度(自适应)

      本文链接:https://www.haomeiwen.com/subject/lvimettx.html