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

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


-(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) 比较,做出相关操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容