IOS中對UILabel設(shè)置行間距或者字間距,根據(jù)內(nèi)容計算高度

//? ? ? ? //設(shè)置label的行間距

?? ? ? ?NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:weakSelf.fj_footerLable.text];

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

? ? ? ? [paragraphStylesetLineSpacing:autoScaleW(5)];

? ? ? ? [attributedStringaddAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [weakSelf.fj_footerLable.text length])];

? ? ? ? [weakSelf.fj_footerLablesetAttributedText:attributedString];

//設(shè)置字間距

-(void)setLabelSpace:(UILabel)label withValue:(NSString)str withFont:(UIFont)font {

NSMutableParagraphStyle

paraStyle = [[NSMutableParagraphStyle alloc] init];

paraStyle.lineBreakMode = NSLineBreakByCharWrapping;

paraStyle.alignment = NSTextAlignmentLeft;

paraStyle.lineSpacing = 6; //設(shè)置行間距

paraStyle.hyphenationFactor = 1.0;

paraStyle.firstLineHeadIndent = 0.0;

paraStyle.paragraphSpacingBefore = 0.0;

paraStyle.headIndent = 0;

paraStyle.tailIndent = 0;

//設(shè)置字間距 NSKernAttributeName:@1.5f

NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@1.5f

};

CGSize size = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;

? ? return size.width;

}

//計算UILabel的高度(帶有行間距的情況)

-(CGFloat)getSpaceLabelHeight:(NSString*)str withFont:(UIFont*)font withWidth:(CGFloat)width

{

? ? NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];

? ? paraStyle.lineBreakMode = NSLineBreakByCharWrapping;

? ? paraStyle.alignment = NSTextAlignmentLeft;

? ? paraStyle.lineSpacing=autoScaleW(5);

? ? paraStyle.hyphenationFactor=1.0;

? ? paraStyle.firstLineHeadIndent = 0.0;

? ? paraStyle.paragraphSpacingBefore = 0.0;

? ? paraStyle.headIndent=0;

? ? paraStyle.tailIndent=0;

? ? NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@1.5f

?? ? ? ? ? ? ? ? ? ? ? ? };

? ? CGSize size = [str boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;

? ? returnsize.height;

}

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

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

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