温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

计算改变行间距的UILabel高度

发布时间:2020-08-11 06:39:03 来源:网络 阅读:705 作者:liyun2422 栏目:移动开发

有人碰到同样的需求吗?有什么比较好的实现吗?


一段文字 需要改变行间距 还需要计算出高度调整位置

/**
 _str :         要现实的字符串
 _font :        字体
 _labWidth :    Lab最大宽度
 _lineSpacing : 行间距
 _numberOfLines :   显示行数
 */
+(CGSize)labSizeWithStr:(NSString *)_str font:(UIFont *)_font labWidth:(int)_labWidth lineSpacing:(int)_lineSpacing numberOfLines:(int)_numberOfLines;
+(CGSize)labSizeWithStr:(NSString *)_str font:(UIFont *)_font labWidth:(int)_labWidth lineSpacing:(int)_lineSpacing numberOfLines:(int)_numberOfLines{
    
    if (!_str) {
        return CGSizeZero;
    }

    UILabel *cLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, _labWidth, 0)];
    [cLabel setFont:_font];
    [cLabel setNumberOfLines:_numberOfLines];
    
    NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    [paragraphStyle setLineSpacing:_lineSpacing];
    
    [cLabel setAttributedText:[[NSAttributedString alloc] initWithString:_str attributes:@{NSParagraphStyleAttributeName:paragraphStyle}]];
    [cLabel sizeToFit];
    
    CGSize returnSize = cLabel.size;
    cLabel = nil;
    
    return returnSize;
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI