CATextLayer

提供简单文本布局、(plain or attributed)文本渲染

文本第一行与Layer的top对齐

文本获取

  • @property(copy) id string
    • id类型。这样你既可以用NSString也可以用NSAttributedString来指定文本了
    • 属性化字符串是iOS用来渲染字体风格的机制,它以特定的方式来决定指定范围内的字符串的原始信息,比如字体,颜色,字重,斜体等。

文本视觉属性

  • @property CFTypeRef font
    • 文本字体
    • 默认 Helvetica 字体
  • @property CGFloat fontSize
    • 文本字体大小
    • 默认36
  • @property CGColorRef foregroundColor
    • 文本渲染颜色
    • 默认白色
    • 当文本不是NSAttributedString类型的时候才会生效
  • @property CGFloat contentsScale
    • 使用CATextLayer设置文本,可能会产生模糊状态,因为该默认的分辨率不是retina,设置如下代码即可:textLayer.contentsScale = [UIScreen mainScreen].scale;

文本对齐和截断

  • @property(getter=isWrapped) BOOL wrapped
    • 文本自适应图层大小
  • @property(copy) NSString *alignmentMode
    • 描述如何在该层中的单行的文本对齐,设置字体的排列格式,可选择自然,左,右,居中和自适应;默认为自然
  • @property(copy) NSString *truncationMode
    • 描述如何将字符串截断以适应图层大小,设置缩短的部位,可选择没有,开始,中间,和结束

简单使用

CATextLayer *lary = [CATextLayer layer];
lary.string = @"dasfasa";
lary.bounds = CGRectMake(0, 0, 320, 20);
lary.font = @"HiraKakuProN-W3";
//字体的名字 不是 UIFont
lary.fontSize = 12.f;
//字体的大小
lary.alignmentMode = kCAAlignmentCenter;//字体的对齐方式
lary.position = CGPointMake(160, 410);
lary.foregroundColor =
[UIColor redColor].CGColor;//字体的颜色
[self.view.layer addSublayer:lary];
原文地址:https://www.cnblogs.com/sunyanyan/p/5360146.html