啥都不说了,直接上代码,做了一个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

转载于:https://www.cnblogs.com/chaicla-ios/p/6741925.html

UILabel的行间距,字间距处理相关推荐

  1. [iOS]修改UILabel的行间距/段间距/缩进

    [iOS]修改UILabel的行间距/段间距/缩进 - (void)viewDidLoad {[super viewDidLoad];UILabel *dLabel = _desLab;NSStrin ...

  2. 【多媒体课件制作软件】Focusky教程 | 调整文字行间距/字间距

    Focusky (也称为"FS软件")插入文本文字后,可以设置行间距和字距等. 操作步骤如下: 1. 插入文本文字:插入 – 文本 – 输入内容或者点击右侧的"T&quo ...

  3. Android基础篇 TextView 设置行间距字间距

    一.行间距 TextView 设置行间距可以通过设置TextView属性的 android:lineSpacingExtra 或 android:lineSpacingMultiplier 来达到效果 ...

  4. ios label文字行间距_ios实践之Label 字间距、行间距、两端对齐、分行显示

    UILabel算是iOS里使用最多的控件了吧,下面来说说它特殊的应用需求吧 一.设置字间距.行间距 这是一个比较常见的需求了 写一个UILabel的分类 @interface UILabel (ext ...

  5. Label设置行间距,段间距,字间距

    Label设置行间距,段间距,字间距 使用NSMutableAttributedString设置label属性 直接上代码 - (void)viewDidLoad {[super viewDidLoa ...

  6. Android多屏幕适配之字体大小、行间距和字间距

    code小生,一个专注Android领域的技术平台 作者:星际旅行android 地址:https://www.jianshu.com/p/730d0b2c1c5d 声明:本文已获星际旅行androi ...

  7. docx行间距怎么设置_Word如何调整字间距,行间距.docx

    PAGE PAGE #/ 2 Word 如何调整字间距.行间距 字间距决定行内文字之间的距离.行距决定段落中各行文字之间的垂直距 离.段落间距决定段落上方或下方的间距量. 一.调整汉字与英文字母.数字 ...

  8. 怎样使一排文字中间有间隔_Word如何调整字间距,行间距

    Word 如何调整字间距.行间距 字间距决定行内文字之间的距离. 行距决定段落中各行文字之间的垂直距离. 段落间距 决定段落上方或下方的间距量. 一.调整汉字与英文字母.数字间的距离 Word 中的汉 ...

  9. iOS UIlabel文字排版(改变字间距行间距)分类

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

最新文章

  1. 干货:排名前 16 的 Java 工具类!
  2. 微信一次发两个ajax请求,微信浏览器发送ajax请求执行多次解决方法
  3. OpenCASCADE绘制测试线束:简单的向量代数和测量之测量命令
  4. 计算机虚拟现实技术论文好写吗,虚拟现实技术的论文
  5. 【CCF】201712-2游戏
  6. oracle 10g rac for linux (ASM) 修改modify public IP and vip
  7. python3爬取中国药学科学数据
  8. android逐行写入读取_Android外部存储-读取,写入,保存文件
  9. linux nvme 驱动 版本,Linux 上的 NVMe
  10. QT编程入门系列文章之三十三——国际化(上)
  11. puttygen.exe 生产密钥,配置SSH登陆linux服务器
  12. 《那些年啊,那些事——一个程序员的奋斗史》——18
  13. cmos逻辑门传输延迟时间_什么是TTL电平、CMOS电平?区别是什么?
  14. 三网手机号码归属地查询小程序源码
  15. 《数据驱动 从方法到实践》之 数据驱动的环节 学习总结
  16. arch模型 matlab,ARCH模型(arch模型干嘛的)
  17. python爬虫,python学习,如何用python爬取视频资源
  18. Cobbler详解(六)——cobbler-web
  19. 一文读懂,WMS仓库管理系统模块功能
  20. 项目管理之我见:甲方乙方

热门文章

  1. anaconda moviepy_Win10配置anaconda和jupyter
  2. jmeter吞吐量_进阶Spring Boot---Tomcat与Undertow 吞吐量对比
  3. redhat5 oracle11g安装全程详解,RedHat5+Oracle11g安装全程详解.doc
  4. python导入自定义文件_python引入导入自定义模块和外部文件的实例
  5. 美团flutter_ggtalk 聊聊跨平台:后起之秀 Flutter
  6. 2×3卡方检验prism_分类变量的相关性:五分钟掌握卡方检验「从理论到Python实战」...
  7. java 单例模式打包jar_在 Spark 中实现单例模式的技巧
  8. mysql的natural join_MySQL基础之Natural Join用法
  9. python爬虫京东中文乱码_python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题...
  10. 「第三只手」机械臂:采水果,破墙壁!