用途:帮助在 Apple 平台正确使用 SF Symbols,包括为标签栏、工具栏、按钮、小组件挑选图标,在缺失字形时制作自定义符号,以及把数值变化或状态切换渲染成符号动画。
主要能力:涵盖 7000+ 系统符号的选择与配置。渲染模式有 Monochrome、Hierarchical、Palette、Multicolor,按场景选用;渐变由单一源色生成,适用于所有渲染模式。可变值通过 variableValue(0–1)呈现信号、进度等量级,0% 才是空状态;Variable Draw 按百分比绘制路径。动画预设有 Bounce、Pulse、Variable Color、Scale、Appear、Disappear、Replace、Draw On/Off,行为类分 discrete、indefinite、transition、content transition。状态切换用 .contentTransition(.symbolEffect(.replace)),mute/unmute 等建议 Magic Replace。
自定义符号制作流程:从最接近的系统符号导出模板,不空白起画;绘制 Ultralight-Small、Regular-Small、Black-Small 三个源,系统插值出 27 个变体;先做好 Regular-Small,各源路径与点数必须一致(只移动不增删);转为轮廓路径,平铺填充,不加渐变和阴影;用统一注解标图层 z 序、系统颜色、primary→tertiary 分组、Erase、Hidden,可变颜色下 z 序即激活顺序;SF Symbols 7 模板需标绘制引导点(起点空心圆、终点实心圆、拐角菱形),先在 Regular 权重标注并保持各权重顺序一致;导出当前模板版本给 Xcode。2.0 模板仅单色,3.0+ 支持全部渲染模式,4.0+ 支持可变颜色。
使用方式:在 SwiftUI 用 symbolEffect,在 UIKit 用 addSymbolEffect,效果沿视图层级传播,可用 .symbolEffectsRemoved() 屏蔽子视图。
适用场景与限制:适用于 Apple 平台图标与符号动效相关工作;动画实现细节在 design/animation-patterns 中,图标本身不属于符号。常见失败包括把效果烘焙进图形、跨源路径数不一致、注解后重排路径、只提供填充变体。