CALayer解析3:CATextLayer

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,设置文字是否像素化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容