博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 改变字体行间距与字间距
阅读量:7242 次
发布时间:2019-06-29

本文共 2286 字,大约阅读时间需要 7 分钟。

  hot3.png

1,创建分类并声明所需的类方法 .h文件

#import 
@interface UILabel (AKSpace)/** * 改变行间距 */+ (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

2,实现类方法 .m文件

#import "UILabel+AKSpace.h"@implementation UILabel (AKSpace)//改变字体行间距+ (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

3,使用方法

  UILabel默认排版:

105043_eQZQ_2728740.png 

加入行间与字间距后的排版:

105213_VV2i_2728740.png

105258_TNpI_2728740.png

 

转载于:https://my.oschina.net/Kuture/blog/863666

你可能感兴趣的文章
log4j.properties配置与加载应用(转)
查看>>
从右边看二叉树
查看>>
Linux服务器升级安装OPENSSH
查看>>
我的友情链接
查看>>
debian 7.0 dmesg error 解决过程实记.
查看>>
lvs之fullnat与pacemaker的构建
查看>>
Redis的安装和使用之三------redis.conf配置释义
查看>>
Android include使用
查看>>
三星收购哈曼,物联网领域又迎来一位玩家
查看>>
pssh批量ssh操作
查看>>
博为峰Java技术文章 ——JavaSE Swing 单选按钮II
查看>>
博为峰Java技术文章 ——JavaSE Swing 按钮组件的综合运用
查看>>
Python对象类型
查看>>
认识border
查看>>
关于LUN和存储卷的区别详解
查看>>
JavaSE 学习参考:IO流之字节流
查看>>
Spring集合的注入
查看>>
JavaSE 数组排序
查看>>
java多线程同代码函数
查看>>
php编程 - php分糖果问题
查看>>