ios開(kāi)發(fā)之lable根據(jù)文字自適應(yīng)行高和換行

前言:開(kāi)發(fā)中難免會(huì)遇到設(shè)置lable根據(jù)文字來(lái)調(diào)整高度和換行,具體做法如下.

sizethatfits方法
  1. 設(shè)置lable的frame,numberofLines,字體等.
 UILabel *carTypeLN = [[UILabel alloc]init];
carTypeLN.frame = CGRectMake(margin+((margin+width)*lie), (row*(height+topMargin)), width,height);
  1. 根據(jù)本身的view的frame,對(duì)lable的frame進(jìn)行適配.
    carTypeLN.textAlignment = NSTextAlignmentCenter;
    carTypeLN.textColor = HEX_COLOR(kColor_Flag_GrayDark);
    carTypeLN.backgroundColor = HEX_COLOR(kColor_BG_white);
    carTypeLN.font = [UIFont systemFontOfSize:13];
    carTypeLN.text = types[i];
    CGSize size = [self sizeThatFits:CGSizeMake(carTypeLN.frame.size.height, MAXFLOAT)];
    CGRect frame = carTypeLN.frame;
    frame.size.height = size.height;
    [carTypeLN setFrame:frame];
    [self addSubview:carTypeLN];
    carTypeLN.numberOfLines = 0;

根據(jù)lable的文字以及font,對(duì)特定的寬度適配出符合該段文字的高度,該種方法比較靈活.

    CGSize labelSize = [self.contentLabel.text boundingRectWithSize:CGSizeMake([UIScreen mainScreen].bounds.size.width-130, 10000) options:NSStringDrawingUsesFontLeading|NSStringDrawingUsesDeviceMetrics|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:self.contentLabel.font} context:nil].size;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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