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

UILabel的行间距 字间距处理

时间:2023-07-03 09:58:25

相关推荐

UILabel的行间距 字间距处理

啥都不说了,直接上代码,做了一个Category

#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

.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

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