CoreAnimation —— CATextLayer(文本绘制)
2016-12-05 00:00
155 查看
CATextLayer图层用来进行文本的绘制,其属性如下:
例子:
效果:
//渲染的文字字符串 @property(nullable, copy) id string; //设置字体 @property(nullable) CFTypeRef font; //设置字号 @property CGFloat fontSize; //设置文字颜色 @property(nullable) CGColorRef foregroundColor; //设置自适应图层大小(是否换行) @property(getter=isWrapped) BOOL wrapped; /* 设置截断模式(目的是为了适应图层大小) NSString * const kCATruncationNone; 截断前部分 NSString * const kCATruncationStart; 截断后部分 NSString * const kCATruncationEnd; 截断中间 NSString * const kCATruncationMiddle; */ @property(copy) NSString *truncationMode; /* 设置文字对齐模式 NSString * const kCAAlignmentNatural; NSString * const kCAAlignmentLeft; NSString * const kCAAlignmentRight; NSString * const kCAAlignmentCenter; NSString * const kCAAlignmentJustified; */ @property(copy) NSString *alignmentMode; // 分辨率 @property CGFloat contentsScale; // 使用CATextLayer设置文本,可能会产生模糊状态,因为该默认的分辨率不是retina,设置如下代码即可: textLayer.contentsScale = [UIScreen mainScreen].scale;
例子:
CATextLayer *textLayer = [CATextLayer layer]; textLayer.frame = bgView.bounds; [bgView.layer addSublayer:textLayer]; // 设置字符串 textLayer.string = @"textLayer初探"; // 设置字号 textLayer.fontSize = 15; // 设置分辨率 textLayer.contentsScale = [UIScreen mainScreen].scale; // 设置文字对齐方式 textLayer.alignmentMode = kCAAlignmentCenter; // 创建背景层(渐变层) CAGradientLayer *bgLayer = [CAGradientLayer layer]; bgLayer.frame = bgView.bounds; [bgLayer setColors:[NSArray arrayWithObjects:(id)[UIColor redColor].CGColor, (id)[UIColor yellowColor].CGColor, (id)[UIColor orangeColor].CGColor, nil]]; [bgLayer setLocations:@[@(0.3),@(0.4),@(0.5)]]; [bgLayer setStartPoint:CGPointMake(0, 0)]; [bgLayer setEndPoint:CGPointMake(1, 0)]; // 用文本图层来截取渐变层 [bgLayer setMask:textLayer]; [bgView.layer addSublayer:bgLayer];
效果:
![](https://static.oschina.net/uploads/space/2016/1205/225920_UO7N_2862829.png)
相关文章推荐
- CATextLayer绘制文本字符串
- ios 学习之你画我话绘图一 绘制文本和图像
- GDI+绘制竖向文本
- Qt之绘制闪烁文本
- CoreText(三):绘制文本
- 【Matlab】读取文本文档并绘制误差线
- Win32汇编:绘制文本
- Qt-文本绘制
- 3.3.6_在圆弧周围绘制文本
- qml学习---------------利用Canvas绘制文本
- 用Core Text计算一段文本绘制在屏幕上后的高度
- QOPenGLWidget与QPainter混合编程--绘制文本
- HTML5快速入门实例(二)使用Canvas绘制文本
- 【UWP通用应用开发】编辑文本、绘制图形、3D透视效果及绘制时钟实战
- 绘制文本居中
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度
- 文本显示器--静态文本控件之文本绘制输出
- GDI+ 绘制多行文本
- canvas绘制文本 圆弧 填充规则
- C#高级编程:绘制文本