iOS设置富文本行间距、字间距
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设置富文本行间距、字间距相关推荐
- docx行间距怎么设置_Word如何调整字间距,行间距.docx
PAGE PAGE #/ 2 Word 如何调整字间距.行间距 字间距决定行内文字之间的距离.行距决定段落中各行文字之间的垂直距 离.段落间距决定段落上方或下方的间距量. 一.调整汉字与英文字母.数字 ...
- Android基础篇 TextView 设置行间距字间距
一.行间距 TextView 设置行间距可以通过设置TextView属性的 android:lineSpacingExtra 或 android:lineSpacingMultiplier 来达到效果 ...
- iOS-[NSAttributedString]设置富文本和计算富文本高度
计算富文本的高度 在app中我们最常见的就是把一段文字要设置行间距.所占宽度.字体大小.并且这些都是我们来计算富文本高度和设置富文本样式必须的元素.当然可能还有首行缩进等元素.我们这里就不考虑了. 设 ...
- 渲染富文本编辑器并设置富文本编辑器的高度
目标:富文本编辑器 vue-quill-editor 的基本使用:vue-quill-editor - npm 一.渲染富文本编辑器 运行如下的命令,在项目中安装富文本编辑器: npm i vue-q ...
- [iOS]修改UILabel的行间距/段间距/缩进
[iOS]修改UILabel的行间距/段间距/缩进 - (void)viewDidLoad {[super viewDidLoad];UILabel *dLabel = _desLab;NSStrin ...
- iOS之富文本(二)
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结果在XCode中查 ...
- iOS 段落富文本使用
#import "ViewController.h" #import <CoreText/CoreText.h> @interface ViewController ( ...
- 【多媒体课件制作软件】Focusky教程 | 调整文字行间距/字间距
Focusky (也称为"FS软件")插入文本文字后,可以设置行间距和字距等. 操作步骤如下: 1. 插入文本文字:插入 – 文本 – 输入内容或者点击右侧的"T&quo ...
- dotnet OpenXML 文本 Kerning 字间距的作用
在 PPT 和 Word 排版里面,小伙伴会接触到 Kerning 字间距这个属性,本文将告诉大家这个属性的功能,以及为什么需要在 OpenXml 里面设置这个属性 其实这个属性的实际作用需要从文本排 ...
最新文章
- 去大厂面试,说了没高并发经验,面试官还是抓着这个问!
- visual studio如何给源码文件添加header信息?(创建者,创建日期等)(License Header Manager插件)
- 《结对-结对编项目作业名称-测试过程》
- 【Java数据库】CLOB BLOB 在数据库中存入/取出大量文本数据、二进制文件(图片)
- spark 2.4安装
- Fiddler 十分钟最全使用介绍
- 组建实验室仅3年,团队人均26岁,这位85后女博导成果登上Nature!
- C---队列,栈的实现
- java jms消息队列_JMS消息队列ActiveMQ(发布/订阅模式)
- linux 进程的pid分配策略——pid位图算法
- 使用python 启动一个web服务
- 文件夹怎么打包压缩?压缩包太大如何缩小?
- ABP教程(四)- 开始一个简单的任务管理系统 - 实现UI端的增删改查
- python keyboard backspace_键盘记录器在按backspace键时抛出错误(Python)
- JavaScript 常用事件大全
- linux自带查看端口流量命令,iftop命令查看linux系统网卡流量的命令
- 安卓动画之ObjectAnimator
- define不是c语言语句,define是语句
- 前端接收bolb格式下载文件,前端下载blob格式的文件
- 欧拉旋转中的Gimbal Lock理解