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;
- 使用CATextLayer设置文本,可能会产生模糊状态,因为该默认的分辨率不是retina,设置如下代码即可:
文本对齐和截断
- @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];