lazy var titltLab: UILabel = {
let label = UILabel ()
label.font = UIFont.systemFont(ofSize: 17)
label.text = "label"
label.backgroundColor = UIColor.white
label.textColor = UIColor.black
label.textAlignment = .center
label.numberOfLines = 0
return label
}()
titltLab.snp.makeConstraints { (make) -> Void in
make.width.equalTo(50)
make.height.equalTo(50)
}
其他属性
##文字大小自适应标签宽度
label.adjustsFontSizeToFitWidth = true //当文字超出标签宽度时,自动调整文字大小,使其不被截断
##字体的设置
label.font = UIFont(name:"Zapfino", size:20)
##文字过长时的省略方式
label.lineBreakMode = .byTruncatingTail //隐藏尾部并显示省略号 "abcd..."
label.lineBreakMode = .byTruncatingMiddle //隐藏中间部分并显示省略号 "ab...yz"
label.lineBreakMode = .byTruncatingHead //隐藏头部并显示省略号 "...wxyz"
label.lineBreakMode = .byClipping //截去多余部分也不显示省略号
label.lineBreakMode = .byCharWrapping //UILable“中文”加上“英文或者其他非中文字符”自动换行的问题,结尾自动换行问题
##使标签可以显示多行文字
label.numberOfLines = 2 //显示两行文字(默认只显示一行,设为0表示没有行数限制)
##文字类型/大小
testLable.font = UIFont.boldSystemFont(ofSize: 20) //加粗类型
testLable.font = UIFont.systemFont(ofSize: 20)//文字大小
testLable.font = UIFont.italicSystemFont(ofSize: 20)//斜体类型
##内边距
titltLab.padding = UIEdgeInsets.init(top: 10, left: 10, bottom: 10, right: 10)
富文本
##富文本设置
let attributeString = NSMutableAttributedString(string:"welcome to hangge.com")
##从文本0开始6个字符字体HelveticaNeue-Bold,16号
attributeString.addAttribute(NSFontAttributeName,
value: UIFont(name: "HelveticaNeue-Bold", size: 16)!,
range: NSMakeRange(0,6))
##设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blue,
range: NSMakeRange(0, 3))
##设置文字背景颜色
attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.green,
range: NSMakeRange(3,3))
##设置文字删除线2句
attributeString.addAttribute(NSBaselineOffsetAttributeName, value: 0, range: NSMakeRange(0, attributeString.length))
attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 1, range: NSMakeRange(0, attributeString.length))
##设置下划线
attrString.addAttribute(NSUnderlineStyleAttributeName, value:NSUnderlineStyle.StyleSingle.rawValue, range: NSMakeRange(5,12))
label.attributedText = attributeString
##设置行间距
//要显示的文字
let str = "欢迎访问hangge.com 欢迎访问hangge.com 欢迎访问hangge.com"
//通过富文本来设置行间距
let paraph = NSMutableParagraphStyle()
//将行间距设置为28
paraph.lineSpacing = 20
//样式属性集合
let attributes = [NSFontAttributeName:UIFont.systemFont(ofSize: 15),
NSParagraphStyleAttributeName: paraph]
label.attributedText = NSAttributedString(string: str, attributes: attributes)
文本显示图片
class CPSPFMarkLabel: UILabel {
convenience init(text: String) {
self.init(frame:CGRect.zero)
let markLabelText = " 清明时节雨纷纷☺" + text
self.textAlignment = .center
self.textColor = UIConstants.AppFontColor
self.font = UIConstants.DefaultFont15
self.backgroundColor = UIConstants.AppWhiteColor
let markAttribute = NSMutableAttributedString(string: markLabelText)
markAttribute.addAttribute(NSAttributedStringKey.foregroundColor, value:UIConstants.AppRedColor, range: NSRange(location: 6,length: text.count))
//以上是富文本显示
let arkattch = NSTextAttachment() //定义一个attachment
markattch.image = UIImage(named: "image_timing")//初始化图片
markattch.bounds = CGRect(x: 0, y: -1, width: 15, height: 15) //初始化图片的 bounds
let markattchStr = NSAttributedString(attachment: markattch) // 将attachment 加入富文本中
markAttribute.insert(markattchStr, at: 0)// 将markattchStr 加入原有文字的某个位置
self.attributedText = markAttribute
}
}
UILabel添加图片
https://www.jianshu.com/p/ebd7c123a2ed
https://www.cnblogs.com/Apologize/p/5908503.html
【Swift】UILabel 设置内边距
【Swift】NumberFormatter的简单使用
【Swift】NumberFormatter的简单使用2
文字渐变
https://blog.csdn.net/qq_33608748/article/details/76685706
https://www.jianshu.com/p/44dd77c00913
富文本
https://www.jianshu.com/p/9ffcdc0003e0
自定义字体
https://www.jianshu.com/p/554f88e4b731
第三方
https://github.com/ibireme/YYText
https://www.jianshu.com/p/923da9623052