iOS开发中经常会用到UILabel来展示一些文字性内容,默认的排版方式会有些挤,这里来介绍一下如何给UILabel设置行间距和字间距,欢迎大家多提意见,共勉❤️❤️❤️
设置行间距,字间距等都是对字符串的处理,这里需要用到富文本 NSAttributedString 或 NSMutableAttributedString ,设置其属性即可。
设置行间距需要用到 NSMutableParagraphStyle , NSMutableParagraphStyle 用于设定文本段落有关的设置,比如行间距,文本缩进,段间距等,用法如下:
直接修改 NSAttributedString ,或者 NSMutableAttributedString 的 NSKernAttributeName 属性即可,用法如下:
记住你对label的设置,计算高度时传入字符串,宽度和富文本的属性(字典类型)即可。
NSMutableParagraphStyle 功能很强大,还有很多属性可以用,比如:
备注: 当文本是单行时,文字底部会多出 lineSpacing 的情况(如下图所示),因此需要判断文本为单行时,不设置 lineSpacing
备注: 如果在设置 baselineOffset 的同时设置 range 范围的背景色或者前景色时,修复公式变为 (lineHeight - self.bottomLabel.font.lineHeight)/2 ,并且 label 中文本其实位置出错如图所示,具体原因暂时未知。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)