用途
该技能用于把已有或新的 iOS 应用从“能用”提升到“高级、精致、原生”。资料强调,功能性应用与美观应用之间的差别不在于功能数量,而在于大量细小决策:工具栏图标字重与导航标题匹配、弹簧动画恰好过冲 4% 再稳定、触觉反馈精确落在开关切换的毫秒上。它适合做视觉语言与动效系统设计、图标选择与渲染、动画调校、触觉反馈设计、颜色系统设计、模糊与材质效果,以及“最后 10%”的打磨。
不适用于 SwiftUI 语法教程或 API 参考、后端架构与网络、跨平台设计(Flutter、React Native)、Android Material Design。
主要能力
资料将打磨分为四级:能用、正确(遵循 HIG)、原生(动效、触觉、间距)、必然感(高级,如 Things 3、Halide、Bear)。该技能目标是第四级。高级感被概括为克制、字重一致、物理感、安静、细节惊喜。
- SF Symbols:字重需与相邻文本字重匹配,例如
.headline为 semibold 时图标也应.semibold。四种渲染模式:单色、层级、调色板、多色,并说明各自适用位置。iOS 17+ 支持符号效果,如 bounce、pulse、variableColor、replace、appear,以及用imageScale而非硬编码尺寸。 - SwiftUI 动画与弹簧物理:建议所有移动元素使用弹簧而非线性或缓动曲线。提供
.spring、.snappy、.bouncy、.smooth预设,以及自定义response、dampingFraction、blendDuration。资料给出按场景调参的参考表,例如开关 0.25/0.8、表单 0.35/0.75、卡片展开 0.4/0.7、庆祝弹跳 0.5/0.5、拖拽释放 0.3/0.65、页面转场 0.45/0.85、下拉刷新 0.35/0.6、键盘导航 0.2/0.9。还介绍交错列表出现(50ms 间隔)、多属性编排(不同属性不同时序)以及 iOS 17+ 的 PhaseAnimator 多阶段动画。 - 触觉反馈设计:区分 impact(碰撞与重量,分 light/medium/heavy/soft/rigid)、selection(离散值切换)、notification(成功/警告/错误)。提供 SwiftUI iOS 17+ 的
sensoryFeedback声明式用法,并给出时机规则表,例如按钮按下在 touch down 而非释放时触发、开关在翻转点触发、删除滑动在动作提交时触发、下拉刷新在内容回弹时触发、长按菜单在菜单出现时触发、选择器滚动在每次值变化时触发、成功/错误与对应动画同步、拖拽吸附在每条网格线触发。内置不够时可用 Core Haptics 自定义模式。 - 颜色系统:建议资产目录按 Brand/Semantic/State 组织,并给出示例色值。强调浅色模式文字不用纯黑 #000000 而用 #1D1D1F;深色模式背景可用 #000000(OLED 省电)与 #1C1C1E(抬升表面)。优先语义颜色,覆盖硬编码。叠加层用 vibrancy/材质而非透明度,资料列出
.ultraThinMaterial到.ultraThickMaterial的用途。 - 间距与圆角:采用 8 点网格,常用 4 至 32 的间距刻度。圆角参考从 6 到 38.5,并强调必须使用
.continuous连续圆角而非.cornerRadius,这是第三方应用最常见的错误之一。 - 动态字体与无障碍:高级应用在大字号下应更好看而非更糟。不应硬编码字号,使用文本样式;用
@ScaledMetric缩放图标与内边距;在最大无障碍字号下测试布局;最小点击目标 44x44pt,建议 48x48pt。 - Liquid Glass(iOS 26/2025):资料仅简要提及新视觉语言强调半透明与深度,并给出
.background(.liquidGlass)示例,未展开完整规范。
使用方式
资料未提供安装步骤或调用命令;其内容以设计指南、代码示例与参数表形式呈现,用户需按具体场景应用。官方文本暂未提供。
适用场景与限制
适用于现有 iOS 应用的视觉精修、新应用视觉语言与动效系统设计、图标与触觉细节打磨。限制是:不涉及 SwiftUI 语法教学、后端、跨平台与 Android 设计;Liquid Glass 部分信息不完整;部分色值和参数为示例性建议。