您现在的位置是:主页 > news > 武汉wordpress建站/市场调研报告万能模板

武汉wordpress建站/市场调研报告万能模板

admin2025/5/2 12:47:16news

简介武汉wordpress建站,市场调研报告万能模板,如何做商业网站推广,惠济免费网站建设在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节。比如一个Label的默认间距效果是这样:然后用一个封装起来的Catego…

武汉wordpress建站,市场调研报告万能模板,如何做商业网站推广,惠济免费网站建设在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节。比如一个Label的默认间距效果是这样:然后用一个封装起来的Catego…

在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节。

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

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

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

调整后的效果是这样的:

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

这是一个UILabel 的Category,他的内部实现是这样的:

UILabel+ChangeLineSpaceAndWordSpace.h

#import

@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

根据内部实现也可以自己灵活运用 不一定用Category的方法。

文/Elephan_z(简书作者)

原文链接:http://www.jianshu.com/p/b7a2314e780a

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。