SuperAPI AI 工具集

text-editing

通用与其它

查看项目

更新于 10-16 01:13

技能介绍

用途:在 SwiftUI 中显示带样式的文本并构建富文本编辑器,覆盖 Text 样式、AttributedString、带选区格式化的 TextEditor,以及自定义格式化定义。

主要能力:Text 的字体、字重、颜色(优先 foregroundStyle)、下划线/删除线、对齐与行距等修饰;AttributedString 按范围设置字体、前景/背景色、下划线、删除线、inlinePresentationIntent 等属性并以 Text(text) 展示;TextEditor(text:) 编辑纯文本;iOS 18 起 TextEditor(text:selection:) 配合 AttributedString 与 AttributedTextSelection 做基于选区的格式化,通过 text.transformAttributes(in:&selection) 切换加粗、斜体、下划线,并用 @Environment(.fontResolutionContext) 解析字体;可用 AttributedTextFormattingDefinition 限制编辑器可用格式;selection.typingAttributes(in:) 读取光标处属性。

使用方式:只读展示用 Text 加修饰符;混合样式用 AttributedString 赋范围属性后传入 Text;纯文本编辑用 TextEditor(text: $stringBinding);富文本编辑用 TextEditor(text: $attributedString, selection: $selection) 并在工具栏按钮里调用 transformAttributes。

适用场景:需要带样式文本展示、加粗/斜体/下划线格式工具栏、Markdown 渲染于 Text、自定义文本属性或格式约束、选区格式化的 SwiftUI 界面。

限制与注意:Text 仅支持内联 Markdown(加粗、斜体、链接、内联代码),不支持换行、块级格式、列表、表格、代码块、图片、引用。TextEditor(text:selection:) 等富文本 API 需 iOS 18+,AttributedTextSelection、transformAttributes、AttributedTextFormattingDefinition 均为 iOS 18+;AttributedString 为 iOS 15+,条件加粗与下划线模式为 iOS 16+。避免在新项目使用 foregroundColor,改用 foregroundStyle;文本动画需带 value: 参数;复杂 AttributedString 应缓存于 @State 或 body 外而非每次求值重建。版本要求与代码示例均来自公开资料。