[ios開發(fā)] 計算文本高度的幾種方式+Label設置行間距

前言:在實際的開發(fā)過程中經(jīng)常會遇到計算文本的高度及添加行間距,現(xiàn)在總結(jié)幾種處理方式
1.用NSString的這種方法,寬度限定,計算高度,或者高度限定計算寬度,簡單方便

CGRect titleSize = [data.content boundingRectWithSize:CGSizeMake(300,MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil];

2.用Label的自適應來計算高度

 UILabel *contentLabel = [UILabel new];
 contentLabel.font = [UIFont boldSystemFontOfSize:15];
 contentLabel.textColor = [UIColor colorWithRGB:0x333333 alpha:1.0];
contentLabel.text = @"這是一段計算高度的文本。。。。。。";
 contentLabel.numberOfLines = 0;
 contentLabel.lineBreakMode = NSLineBreakByWordWrapping;
        //計算label的高度
 CGSize baseSize = CGSizeMake(SCREEN_WIDTH -30, CGFLOAT_MAX);
 CGSize labelSize = [contentLabel sizeThatFits:baseSize];
 CGFloat height = labelSize.height;
NSLog(@"height = %f",height);

3.使用UITextView的內(nèi)容自適應
代碼與label的自適應類似,就不貼代碼了。
4.設置行間距

 NSString *content = @"這是一段設置行間距為5的文本。。。。。。。";
 NSMutableAttributedString *attriString = [[NSMutableAttributedString alloc] initWithString: content];
 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
 [paragraphStyle setLineSpacing:5];//設置距離
 [attriString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [content length])];
 contentLabel.attributedText = attriString;

設置了行間距的文本,用第二種方式能夠計算出設置了行間距的文本的高度,很適用。

鏈接:https://www.liuniukeji.com/index/zhuzhongjuan.

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容