CALayer解析3:CATextLayer

2017-08-29  本文已影响157人  狂奔的胖蜗牛

1.简介

CATextLayer提供了一个简单快速的文本渲染,与UILabel不同,不能设置Font,只能使用CTFontRef或CGFontRef。

2.使用

override func viewDidLoad() {
        super.viewDidLoad()
        
        //创建出CATextLayer,并且设置边界
        let textLayer = CATextLayer()
        textLayer.frame = self.view.bounds
        
        //创建出文本内容
        var str = ""
        for _ in 1...20 {
            str += "这是一串非常长的文字!而且还会重复出现!不停的,不停的,不停的。。。。"
        }
        
        textLayer.string = str

        //将文本赋值给CATextLayer
        let fontName: CFString = "Noteworthy-Light" as CFString
        textLayer.font = fontName
        
        //设置文字颜色
        textLayer.foregroundColor = UIColor.darkGray.cgColor
        //设置内容是否适应边界
        textLayer.isWrapped = true
        //内容对齐方式
        textLayer.alignmentMode = kCAAlignmentLeft
        //结尾方式
        textLayer.truncationMode = kCATruncationEnd
        //缩放
        textLayer.contentsScale = UIScreen.main.scale
        
        view.layer.addSublayer(textLayer)
    }

结果:

屏幕快照 2017-08-29 下午4.26.44.png

3.属性

属性 作用
string 要绘制的内容,可以是NSString,也可以是NSAttributedString
font 字体,只能在使用了string时设置
fontSize 字体大小,默认36,使用条件同font
foregroundColor 要绘制的字体颜色,使用条件同font
isWrapped 是否自适应layer的边界,不适应的话,只会显示一行
truncationMode 省略号的位置
alignmentMode 文本对齐方式
allowsFontSubpixelQuantization 默认为NO,设置文字是否像素化
上一篇 下一篇

猜你喜欢

热点阅读