美文网首页
关于CATextLayer的 使用

关于CATextLayer的 使用

作者: 4939370a5d29 | 来源:发表于2016-11-29 13:40 被阅读941次

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;

相关文章

  • 关于CATextLayer的 使用

    CATextLayer是CALayer的一个子类,专门用于显示文字。 属性介绍: @property(nullab...

  • iOS[QuartzCore框架](CATextLayer)(6

    一、CATextLayer简介 CATextLayer可以通过字符串进行文字的绘制。 二、CATextLayer....

  • iOS开发·CALayer,CATextLayer,CAShap

    CATextLayer简单使用 CAShapeLayer简单使用专门用来绘制矢量图形的图形子类,可以指定线宽和颜色...

  • QuartzCore - CATextLayer

    CATextLayer 垂直居中显示,自定义 CATextLayer ,重写 draw(in ctx:) 方法

  • CATextLayer使用指南

    本文摘自《iOS-Core-Animation-Advanced-Techniques》 CATextLayer ...

  • 2018-01-30

    CATextLayer 渲染速度 快鱼 UILabel所以以后争取用 CATextLayer 代替UILabel的...

  • CoreAnimation----CATextLayer

    CATextLayer 1. CATextLayer UILabel的精髓 在一个图层里面显示文字,可以借助图层代...

  • CoreAnimation之CATextLayer

    CATextLayer是专用的文本显示图层,有和UILaber一样的显示功能,只是CATextLayer的文本渲染...

  • 第8章 专用图层

    8.2 CATextLayer UILabel的替代品: 这应该是一个用CATextLayer作为宿主图层的UIL...

  • CATextLayer

    这两个CTFontRef,CGFontRef没用过,参考其他文章使用吧 Demo部分代码 接上一篇CAShapeL...

网友评论

      本文标题:关于CATextLayer的 使用

      本文链接:https://www.haomeiwen.com/subject/ntiapttx.html