博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS UILabel设置行间距和字间距
阅读量:5054 次
发布时间:2019-06-12

本文共 1619 字,大约阅读时间需要 5 分钟。

实现UILabel的文字,设置行间距和字间距。 

效果图:

代码:

let lblTitle = UILabel(frame: CGRect(x: 10, y: 150, width: KScreenWidth-20, height: 100))        lblTitle.textColor = UIColor.white        lblTitle.backgroundColor = UIColor.darkGray        lblTitle.textAlignment = .center        lblTitle.numberOfLines = 0        lblTitle.font = UIFont.systemFont(ofSize: 12)        lblTitle.text = "SDCycleScrollView之前一直在OC中使用觉得很简单又熟悉了所以这次写的Demo依旧搬了过来.SDCycleScrollView之前一直在OC中使用觉得很简单又熟悉了所以这次写的Demo依旧搬了过来."        self.view.addSubview(lblTitle)        let attrStr = NSMutableAttributedString(string: lblTitle.text!)        //设置行间距        let style:NSMutableParagraphStyle  = NSMutableParagraphStyle()        style.lineSpacing = 10              //行间距(垂直上的间距)        style.lineBreakMode = .byCharWrapping       //英文字符拆开显示,byWordWrapping表示不拆开显示        style.alignment = .center           //居中显示(如果要设置alignment,这个必须设置,因为label的textAlignment会无效)        style.firstLineHeadIndent = 25.0    //设置首行字符缩进距离        style.headIndent = 5                //每行的左右间距        attrStr.addAttribute(NSParagraphStyleAttributeName, value: style, range: NSRange(location: 0, length: (lblTitle.text?.characters.count)!))        //设置字间距        attrStr.addAttribute(NSKernAttributeName, value: 1.5, range: NSRange(location: 0, length: (lblTitle.text?.characters.count)!))        lblTitle.attributedText = attrStr

 

以上的参数,都可以自己根据需求封装方法。

行间距:lineSpacing

字间距:NSKernAttributeName 的value值

其他。。。

 

最后,如果要计算设置后的高度或size

把 NSParagraphStyleAttributeName、NSKernAttributeName两个属性设置完毕后,再作为 boundingRectWithSize 方法的 attributes属性 就行了。

 

参考网络:

 

 

enjoy~

转载于:https://www.cnblogs.com/yajunLi/p/7146482.html

你可能感兴趣的文章
BZOJ 2324 (有上下界的)费用流
查看>>
python3基础06(随机数的使用)
查看>>
Zookeeper系列(二)特征及应用场景
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
Spring Boot使用Druid和监控配置
查看>>
poi 处理空单元格
查看>>
Android 内存泄漏优化总结
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>