Demo下载地址

我们在展示文字信息时,经常会碰到换行自适应高度的文本,这时我们会发现换行之后,文本之间的行间距依然很小,导致看起来很拥挤,影响美观。因此以下代码就是来解决这些问题,新建一个NSString的类别,贴出如下代码:

1、调整行间距,字间距

/**  设置行间距和字间距**  @param string    字符串*  @param lineSpace 行间距*  @param kern      字间距*  @param font      字体大小**  @return 富文本*/
- (NSAttributedString *)getAttributedWithString:(NSString *)string WithLineSpace:(CGFloat)lineSpace kern:(CGFloat)kern font:(UIFont *)font{NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];//调整行间距paragraphStyle.lineSpacing = lineSpace;NSDictionary *attriDict = @{NSParagraphStyleAttributeName:paragraphStyle,NSKernAttributeName:@(kern),NSFontAttributeName:font};NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:string attributes:attriDict];return attributedString;
}

2、自适应高度

/* 获取富文本的高度** @param string    文字* @param lineSpace 行间距* @param kern      字间距* @param font      字体大小* @param width     文本宽度** @return size*/
- (CGSize)getAttributionHeightWithString:(NSString *)string lineSpace:(CGFloat)lineSpace kern:(CGFloat)kern font:(UIFont *)font width:(CGFloat)width {NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];paragraphStyle.lineSpacing = lineSpace;NSDictionary *attriDict = @{NSParagraphStyleAttributeName:paragraphStyle,NSKernAttributeName:@(kern),NSFontAttributeName:font};CGSize size = [string boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attriDict context:nil].size;return size;
}

iOS设置富文本行间距、字间距相关推荐

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

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

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

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

  3. iOS-[NSAttributedString]设置富文本和计算富文本高度

    计算富文本的高度 在app中我们最常见的就是把一段文字要设置行间距.所占宽度.字体大小.并且这些都是我们来计算富文本高度和设置富文本样式必须的元素.当然可能还有首行缩进等元素.我们这里就不考虑了. 设 ...

  4. 渲染富文本编辑器并设置富文本编辑器的高度

    目标:富文本编辑器 vue-quill-editor 的基本使用:vue-quill-editor - npm 一.渲染富文本编辑器 运行如下的命令,在项目中安装富文本编辑器: npm i vue-q ...

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

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

  6. iOS之富文本(二)

    之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查 ...

  7. iOS 段落富文本使用

    #import "ViewController.h" #import <CoreText/CoreText.h> @interface ViewController ( ...

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

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

  9. dotnet OpenXML 文本 Kerning 字间距的作用

    在 PPT 和 Word 排版里面,小伙伴会接触到 Kerning 字间距这个属性,本文将告诉大家这个属性的功能,以及为什么需要在 OpenXml 里面设置这个属性 其实这个属性的实际作用需要从文本排 ...

最新文章

  1. 去大厂面试,说了没高并发经验,面试官还是抓着这个问!
  2. visual studio如何给源码文件添加header信息?(创建者,创建日期等)(License Header Manager插件)
  3. 《结对-结对编项目作业名称-测试过程》
  4. 【Java数据库】CLOB BLOB 在数据库中存入/取出大量文本数据、二进制文件(图片)
  5. spark 2.4安装
  6. Fiddler 十分钟最全使用介绍
  7. 组建实验室仅3年,团队人均26岁,这位85后女博导成果登上Nature!
  8. C---队列,栈的实现
  9. java jms消息队列_JMS消息队列ActiveMQ(发布/订阅模式)
  10. linux 进程的pid分配策略——pid位图算法
  11. 使用python 启动一个web服务
  12. 文件夹怎么打包压缩?压缩包太大如何缩小?
  13. ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
  14. python keyboard backspace_键盘记录器在按backspace键时抛出错误(Python)
  15. JavaScript 常用事件大全
  16. linux自带查看端口流量命令,iftop命令查看linux系统网卡流量的命令
  17. 安卓动画之ObjectAnimator
  18. define不是c语言语句,define是语句
  19. 前端接收bolb格式下载文件,前端下载blob格式的文件
  20. 欧拉旋转中的Gimbal Lock理解

热门文章

  1. 取暖桌离线智能语音解决方案
  2. 软件接口设计 六大原则
  3. 【bzoj2563】【阿狸和桃子的游戏】【贪心】
  4. C/C++线程函数_beginthreand和_beginthreadex
  5. 转 3GP文件格式分析
  6. javaScript制作验证码
  7. 济南二手房房价分析报告
  8. LCR 自动测试系统
  9. 在手机上体验Windows系统?一个网站就够了
  10. Autoform R10中文版安装说明教程