CATextLayer是CALayer的一个子类,专门用于显示文字。
属性介绍:
-
@property(nullable, copy) id string;
文字内容,注意是id
类型,可以是NSString
或者是NSAttributedString
;默认是nil
;
textLayer.string = @"abcdefg";
-
@property(nullable) CFTypeRef font;
字体,注意不是UIFont,可能是一个CTFontRef,一个CGFontRef或者一个字符串命名体,默认为Helvetica字体;仅当string不是一个NSAttributedString的时候使用;
textLayer.font = @"HiraKakuProN-W3";
-
@property CGFloat fontSize;
字体大小,默认为36;仅当string不是一个NSAttributedString的时候使用;
textLayer.fontSize = 14.0f;
-
@property(nullable) CGColorRef foregroundColor;
文本颜色,默认为不透明的白色;仅当string不是一个NSAttributedString的时候使用;
textLayer. foregroundColor = [UIColor redColor].CGColor;
-
@property(getter=isWrapped) BOOL wrapped;
文本自适应图层大小,默认是NO;用来使文本换行;
textLayer.wrapped = YES;
-
@property(copy) NSString *truncationMode;
描述如何将字符串截断以适应图层大小,设置缩短的部位,可选择没有,开始,中间,和结束;如下:
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);
textLayer. truncationMode = kCATruncationEnd;
-
@property(copy) NSString *alignmentMode;
描述如何在该层中的单行的文本对齐方式,设置字体的排列格式,可选择自然,左,右,居中和自适应;默认为自然;如下:
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);
textLayer. alignmentMode = kCAAlignmentCenter;
-
@property CGFloat contentsScale;
设置文字的分辨率,默认为1;使用CATextLayer设置文本,可能会产生模糊状态,因为该默认的分辨率不是retina,设置如下代码即可:
textLayer.contentsScale = [UIScreen mainScreen].scale;
网友评论