1、CATextLayer简介
CATextLayer快速高效简单地来渲染纯文本、NSAttributedString
/* The text layer provides simple text layout and rendering of plain * or attributed strings. The first line is aligned to the top of the * layer. */ NS_ASSUME_NONNULL_BEGIN CA_CLASS_AVAILABLE (10.5, 2.0, 9.0, 2.0) @interface CATextLayer : CALayer { @private struct CATextLayerPrivate *_state; } //渲染的字符串 @property(nullable, copy) id string; //字体 @property(nullable) CFTypeRef font; //字号 @property CGFloat fontSize; //文字颜色 @property(nullable) CGColorRef foregroundColor; //是否换行,默认NO @property(getter=isWrapped) BOOL wrapped; //枚举:设置截断模式 @property(copy) NSString *truncationMode; //枚举:设置对其模式 @property(copy) NSString *alignmentMode; //文字是否像素化,默认NO @property BOOL allowsFontSubpixelQuantization; @end /* Truncation modes. */ CA_EXTERN NSString * const kCATruncationNone //不剪裁,默认 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCATruncationStart //剪裁开始部分 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCATruncationEnd //剪裁结束部分 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCATruncationMiddle //剪裁中间部分 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); /* Alignment modes. */ CA_EXTERN NSString * const kCAAlignmentNatural //默认 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCAAlignmentLeft //左对齐 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCAAlignmentRight //右对齐 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCAAlignmentCenter //居中对齐 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); CA_EXTERN NSString * const kCAAlignmentJustified //两端对齐 CA_AVAILABLE_STARTING (10.5, 3.2, 9.0, 2.0); NS_ASSUME_NONNULL_END