iOS--UILabel设置行距和字间距,并根据文本计算高度

iOS--UILabel设置行距和字间距,并根据文本计算高度,第1张

iOS开发中经常会用到UILabel来展示一些文字性内容,默认的排版方式会有些挤,这里来介绍一下如何给UILabel设置行间距和字间距,欢迎大家多提意见,共勉❤️❤️❤️

设置行间距,字间距等都是对字符串的处理,这里需要用到富文本 NSAttributedString NSMutableAttributedString ,设置其属性即可。

设置行间距需要用到 NSMutableParagraphStyle NSMutableParagraphStyle 用于设定文本段落有关的设置,比如行间距,文本缩进,段间距等,用法如下:

直接修改 NSAttributedString ,或者 NSMutableAttributedString NSKernAttributeName 属性即可,用法如下:

记住你对label的设置,计算高度时传入字符串,宽度和富文本的属性(字典类型)即可。

NSMutableParagraphStyle 功能很强大,还有很多属性可以用,比如:

备注: 当文本是单行时,文字底部会多出 lineSpacing 的情况(如下图所示),因此需要判断文本为单行时,不设置 lineSpacing

备注: 如果在设置 baselineOffset 的同时设置 range 范围的背景色或者前景色时,修复公式变为 (lineHeight - self.bottomLabel.font.lineHeight)/2 ,并且 label 中文本其实位置出错如图所示,具体原因暂时未知。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11350142.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存