美文网首页
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