美文网首页iOS开发
根据字体大小,行间距计算UILabel行数

根据字体大小,行间距计算UILabel行数

作者: 世玉茹花 | 来源:发表于2018-03-20 13:38 被阅读10次

    先根据要求计算文字尺寸:


    -(CGSize)boundingRectWithWidth:(CGFloat)maxWidth

                      withTextFont:(UIFont *)font

                  withLineSpacing:(CGFloat)lineSpacing

                              text:(NSString *)text{

        CGSize maxSize = CGSizeMake(maxWidth, CGFLOAT_MAX);

        NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];

        [paragraphStyle setLineSpacing:lineSpacing];

        //计算文字尺寸

        CGSize size = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font,NSParagraphStyleAttributeName:paragraphStyle} context:nil].size;

        return size;

    }


    UIFont* font = [UIFont systemFontOfSize:12];

        CGFloat lineSpace = 6;//行间距

        CGFloat textheight = [self boundingRectWithWidth:self.updateDesc.frame.size.width withTextFont:font withLineSpacing:lineSpace text:self.updateitem.desc].height;//实际文字高度

        float space = font.lineHeight*2 + lineSpace;//字高、行高(此处限定为两行字+一个行高,即两行的高度)


    可根据if (textheight > space) 比较,做出相关操作。

    相关文章

      网友评论

        本文标题:根据字体大小,行间距计算UILabel行数

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