用途:面向 Apple 平台文本渲染开发,系统整理 TextKit 2 的架构、迁移与 Writing Tools 集成,覆盖至 iOS 26。
主要能力:介绍 MVC 分层——模型层 NSTextContentManager/NSTextContentStorage/NSTextElement/NSTextParagraph,控制器层 NSTextLayoutManager/NSTextLayoutFragment/NSTextLineFragment,视图层 NSTextViewportLayoutController/NSTextContainer;对象化范围 NSTextLocation/NSTextRange/NSTextSelection/NSTextSelectionNavigation。核心原则:无字形 API 以保证国际文本正确性、不可变值语义保证安全、视口布局保证性能。
使用方式:迁移时用元素替代字形、用 NSTextLocation/NSTextRange 替代 NSRange、用 NSTextLayoutManager 替代 NSLayoutManager;命名中 .offset 属 TextKit 1,.location 属 TextKit 2。访问 textView.layoutManager 会触发 TK1 回退且不可逆,应先检查 textLayoutManager。可用 UITextView(usingTextLayoutManager: true) 或 NSTextView(usingTextLayoutManager: true) 启用。Writing Tools 需 TextKit 2 才能获得完整体验,可设置 writingToolsBehavior、writingToolsResultOptions、忽略范围,iOS 26 起可用 UIWritingToolsCoordinator/NSWritingToolsCoordinator 自定义集成。
适用场景:自定义文本布局、气泡背景、渲染属性、文本附件、列表、命中测试与选择几何、Writing Tools 集成。
限制:资料未提供收费、价格、平台支持范围与效果数据;部分 API 需特定系统版本,具体以官方文档为准。