ios label文字行间距_iOS设置UILabel文字的行间距和字间距

本文介绍了如何在iOS应用中通过扩展UILabel类别,实现改变文字的行间距和字间距。提供了三个方法,分别用于调整行间距、字间距和同时调整两者,并给出了具体的实现代码。
摘要由CSDN通过智能技术生成

释放双眼,带上耳机,听听看~!

可以在UILabel的Category中提供如下几个方法:

.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文件

@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

附: 在Xcode8中创建Category文件的方法:

在工程目录中右键选择New File...或者使用键盘command+N, 然后在弹出窗口中选择Objective-C File

新建文件

然后

起名字, 选择Category, 并选择要扩展的类

最后

设置好后点击Next完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值