1.簡介
CATextLayer提供了一個簡單快速的文本渲染,與UILabel不同子库,不能設(shè)置Font舱权,只能使用CTFontRef或CGFontRef。
2.使用
override func viewDidLoad() {
super.viewDidLoad()
//創(chuàng)建出CATextLayer仑嗅,并且設(shè)置邊界
let textLayer = CATextLayer()
textLayer.frame = self.view.bounds
//創(chuàng)建出文本內(nèi)容
var str = ""
for _ in 1...20 {
str += "這是一串非常長的文字宴倍!而且還會重復(fù)出現(xiàn)!不停的无畔,不停的啊楚,不停的。浑彰。恭理。。"
}
textLayer.string = str
//將文本賦值給CATextLayer
let fontName: CFString = "Noteworthy-Light" as CFString
textLayer.font = fontName
//設(shè)置文字顏色
textLayer.foregroundColor = UIColor.darkGray.cgColor
//設(shè)置內(nèi)容是否適應(yīng)邊界
textLayer.isWrapped = true
//內(nèi)容對齊方式
textLayer.alignmentMode = kCAAlignmentLeft
//結(jié)尾方式
textLayer.truncationMode = kCATruncationEnd
//縮放
textLayer.contentsScale = UIScreen.main.scale
view.layer.addSublayer(textLayer)
}
結(jié)果:
屏幕快照 2017-08-29 下午4.26.44.png
3.屬性
屬性 | 作用 |
---|---|
string | 要繪制的內(nèi)容郭变,可以是NSString颜价,也可以是NSAttributedString |
font | 字體涯保,只能在使用了string時設(shè)置 |
fontSize | 字體大小,默認(rèn)36周伦,使用條件同font |
foregroundColor | 要繪制的字體顏色夕春,使用條件同font |
isWrapped | 是否自適應(yīng)layer的邊界,不適應(yīng)的話专挪,只會顯示一行 |
truncationMode | 省略號的位置 |
alignmentMode | 文本對齊方式 |
allowsFontSubpixelQuantization | 默認(rèn)為NO及志,設(shè)置文字是否像素化 |