美文网首页程序员
UIKit框架 - TextKit

UIKit框架 - TextKit

作者: userName | 来源:发表于2018-03-26 18:10 被阅读47次

一. TextKit 架构

TextKit 架构.png

看图就已经知道底层就是Core Text,苹果可能感觉Core Text比较难用,在iOS 7时发布了TextKit.

二.Text Kit中重要的一些对象

image.jpg

图中主要表现NSTextContainer, NSLayoutManager, NSTextStorage之间的关系。

  • Text View是用来显示文本内容的控件,主要包括UILabel、UITextView和UITextField。
  • Text containers对应着NSTextContainer类。NSTextContainer定义了文本可以排版的区域。一般来说,都是矩形区域,当然,也可以根据需求,通过子类化NSTextContainer来创建别的一些形状,例如圆形、不规则的形状等。NSTextContainer不仅可以创建文本可以填充的区域,它还维护着一个数组——该数组定义了一个区域,排版的时候文字不会填充该区域,因此,我们可以在排版文字的时候,填充非文本元素。
  • Layout manager对应着NSLayoutManager类。该类负责对文字进行编辑排版处理——通过将存储在NSTextStorage中的数据转换为可以在视图控件中显示的文本内容,并把统一的字符编码映射到对应的字形(glyphs)上,然后将字形排版到NSTextContainer定义的区域中。
  • Text storage对应着NSTextStorage类。该类定义了Text Kit扩展文本处理系统中的基本存储机制。NSTextStorage继承自NSmutableAttributedString,主要用来存储文本的字符和相关属性。另外,当NSTextStorage中的字符或属性发生了改变,会通知NSLayoutManager,进而做到文本内容的显示更新。
  • 其实总结下来就是,一个文字需要先创建一个容器对象(NSTextContainer),然后还需要创建一个文字的存储对象(NSTextStorage)。然后通过一个管理者(NSLayoutManager)把文字显示在容器中,形成一个我们看到的UILable。

参考文章

相关文章

  • UIKit框架 - TextKit

    一. TextKit 架构 看图就已经知道底层就是Core Text,苹果可能感觉Core Text比较难用,在...

  • TextKit框架

    TextKit框架介绍 本项目的Demo地址:https://github.com/MonkeyiOS/TextK...

  • iOS 文本相关-TextKit`

    TextKit,发布于iOS 7 。由许多新的用来处理文本的 UIKit 类组成, iOS7 之前的所有版本,(几...

  • iOS文章目录

    书架 常用框架UIKit框架:UI控件显示与事件处理UIKit-ControllerUIKit-View定位与地图...

  • UIKit框架

    1.UIView 这个类是最基础的,而最基础的往往最重要。所有你用眼睛看到的界面,视图,控件。肯定都是属于...

  • UIKit 框架

    UIKit 来自苹果官网的介绍 Construct and manage your app’s user inte...

  • UIKit框架

    整体详解: https://blog.csdn.net/u011774517/article/details/64...

  • 2020-11-23

    总结: UIKit 框架AppDelegate类实现了UIKit库中的UIApplicationDelegate ...

  • QuartZ2D_05刮刮乐

    开始先引入UIKit框架

  • iOS面试-UIView与CALayer

    框架 CALayer 基于 QuartzCore 框架 UIView 基于 UIKit 框架 父类 CALayer...

网友评论

    本文标题:UIKit框架 - TextKit

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