1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > UIlabel的行间距和字间距

UIlabel的行间距和字间距

时间:2024-05-23 11:12:38

相关推荐

UIlabel的行间距和字间距

比如一个Label的默认间距效果是这样

然后用一个封装起来的Category来调整这部分文字的行间

[UILabel changeLineSpaceForLabel:cell.describeLabel WithSpace:5.0];

调整后的效果是这样的

其中5.0就是我自定义的文字间距。

这是一个UILabelCategory,他的内部实现是这样的

UILabel+ChangeLineSpaceAndWordSpace.h

#import <UIKit/UIKit.h>@interface UILabel (ChangeLineSpaceAndWordSpace)/*** 改变行间距*/+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space;/*** 改变字间距*/+ (void)changeWordSpaceForLabel:(UILabel *)label WithSpace:(float)space;/*** 改变行间距和字间距*/+ (void)changeSpaceForLabel:(UILabel *)label withLineSpace:(float)lineSpace WordSpace:(float)wordSpace;@end

UILabel+ChangeLineSpaceAndWordSpace.m

#import "UILabel+ChangeLineSpaceAndWordSpace.h"@implementation UILabel (ChangeLineSpaceAndWordSpace)+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space {NSString *labelText = label.text;NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];[paragraphStyle setLineSpacing:space];[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];label.attributedText = attributedString;[label sizeToFit];}+ (void)changeWordSpaceForLabel:(UILabel *)label WithSpace:(float)space {NSString *labelText = label.text;NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText attributes:@{NSKernAttributeName:@(space)}];NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];label.attributedText = attributedString;[label sizeToFit];}+ (void)changeSpaceForLabel:(UILabel *)label withLineSpace:(float)lineSpace WordSpace:(float)wordSpace {NSString *labelText = label.text;NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText attributes:@{NSKernAttributeName:@(wordSpace)}];NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];[paragraphStyle setLineSpacing:lineSpace];[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];label.attributedText = attributedString;[label sizeToFit];}@end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。