美文网首页
修正YYLabel渲染的文本行间距

修正YYLabel渲染的文本行间距

作者: 举个栗子wow | 来源:发表于2016-08-26 14:45 被阅读3501次

没修正之前是这样的:

4ABF72EC-2E50-4D55-B266-FCD720BACA35.png
可以看到每行的文本由于中文、英文、表情等等的渲染,造成了文本行间距各不相同,之前尝试了直接为属性字符串设置文本间距的属性,但并没有什么用,文本间距只是在不相等的状况下增加了我设置的间距。。。
后来参考了下git上的使用(好好看使用说明少走弯路),在“文本行位置调整”这里提到了这一现象并给出了解决方案,贴上连接:https://github.com/ibireme/YYText
但这里YYTextLinePositionSimpleModifier对象的fixedLineHeight属性所修正的是字体渲染的baseline
基线:@property (assign) CGFloat fixedLineHeight; ///< The fixed line height (distance between two baseline).
提到baseline就要说字形描述集了,贴张图一目了然
C7C4AC6D-1D5F-4368-B110-5B448F2AB656.png

可以看到baseline并不是所有字体的最下端,它只是一条假想的参照线,以此为基础进行字形的渲染。而从YYLabel所产生的行间距不同来看,应该是利用了上一行字体的下缘线和下一行字体的上缘线做处理,由于汉字和英文、表情之类的上下缘线存在差异,就造成了行间距的不同。那么我们可以忽略上下缘线,以baseline为基准,设置两行文本之间的间距,这样看起来就工整多了。
设置后的效果:

8740A334-3183-4D8D-89EC-14393FAB240F.png

相关文章

  • 修正YYLabel渲染的文本行间距

    没修正之前是这样的: 可以看到baseline并不是所有字体的最下端,它只是一条假想的参照线,以此为基础进行字形的...

  • 计算YYLabel内容富文本的高度

    计算YYLabel内容富文本(带行间距)attributeStr的高度,假设行间距间距是5,走的弯路: 一、根据内...

  • YYLabel简单使用

    最近尝试研究了一下YYLabel,学习了一下YYLabel文本响应点击及YYLabel换行功能,下面介绍一下我的收...

  • YYKit框架学习之YYLabel

    一、YYLabel 强大的富文本显示功能,可根据文字的range随意添加点击事件 1 自动换行 YYLabel *...

  • YYLabel的简单使用

    不得不说 YYKit 框架确实很牛,其YYLabel组件在富文本显示和操作方面相当强大,尤其是其异步渲染,让界面要...

  • Label设置行间距

    Label设置行间距 内容摘要 UILabel显示多行文本 UILabel设置行间距 解决单行文本 & 多行文本显...

  • YYLabel 图片消失坑

    点击文本跳转到其他界面,突然发现YYLabel控件上的图片消失了 解决办法:重新赋值给YYLabel控件attri...

  • YYLabel富文本

    之前一直没用YYLabel做过富文本,感觉out了,前两年面试的时候就有人问我,可是我很偏执,或者说对RichEd...

  • YYLabel富文本

    YYLabel与UILabel对表情的支持YYLabel只支持YYTextAttachment,不支持系统默认的N...

  • YYLabel高亮点击事件与tap手势冲突解决

    在手势代理方中,判断YYLabel富文本中是否有高亮对象

网友评论

      本文标题:修正YYLabel渲染的文本行间距

      本文链接:https://www.haomeiwen.com/subject/swczsttx.html