mcpField
I
ios-animations

ios-animations

github.com/pproenca设计与 UI218345 次安装11 周前更新
代码仓库

关于 ios-animations

ios-animations 是面向 SwiftUI 开发者的 iOS 动画实践指南,聚焦动画架构、手势和过渡效果,并结合性能、无障碍及设计系统约束。

主要功能

  1. 01覆盖 8 类动画规则
  2. 02指导弹簧参数与动画时序
  3. 03涵盖手势连续性和空间过渡
  4. 04提供微交互与序列编排模式
  5. 05强调减弱动态效果和设计令牌

适用场景

  1. 01为 SwiftUI 视图添加动画
  2. 02构建拖动和滑动交互
  3. 03设计展开、折叠或导航过渡
  4. 04检查动画性能与无障碍支持

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill ios-animations

安装后在 Claude Code 中输入/ios-animations确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

metadata.json
assets/templates/
_template.md
references/
_sections.md
content-numeric-text.md
content-scroll-transition.md
content-symbol-replace.md
content-text-renderer.md
content-visual-effect.md
craft-blur-bridge.md
craft-drawing-group.md
craft-geometry-group.md
craft-reduce-motion.md
craft-transaction-debug.md
feel-250ms-max.md
feel-asymmetric-enter-exit.md
feel-distance-proportional.md
feel-faster-better.md
feel-haptic-sync.md
feel-stagger-timing.md
gesture-interruptible.md
gesture-momentum-dismiss.md
gesture-projected-landing.md
gesture-rubber-band.md
gesture-scroll-drag-conflict.md
gesture-snap-points.md
gesture-state-transient.md
micro-button-press-scale.md
micro-haptic-pairing.md
micro-loading-phase.md
micro-long-press-fill.md

详细介绍

dot-skills — Airbnb iOS SwiftUI 动画最佳实践

面向 SwiftUI iOS 26 / Swift 6.2 应用的严格动画制作指南,带有明确主张。包含 8 个类别中的 50 条规则,并按影响排序。内容源自 Airbnb Engineering 的动效模式、Apple WWDC 专题和 Apple Human Interface Guidelines。规定每个动画视图都必须使用 @Equatable,所有弹簧和时长值都必须使用动效令牌,布局则必须使用设计系统令牌。

强制架构约定

此技能旨在与 swift-ui-architect 和 ios-design-system 配合使用。所有代码示例都遵循以下不可妥协的约束:

  • 每个视图都使用 @Equatable 宏(Airbnb 测得滚动卡顿减少了 15%)
  • 对涉及业务逻辑触发条件的复杂动画状态使用 @Observable
  • 对视图拥有的动画状态(切换布尔值、拖动偏移量)使用 @State
  • 设计系统令牌:Spacing.xs/sm/md/lg、Radius.sm/md/lg —— 不使用硬编码布局数值
  • 动效令牌:Motion.standard/responsive/playful —— 不零散使用弹簧字面值
  • 语义颜色:.backgroundSurface、.accentPrimary —— 视图中不使用原始 Color 字面值
  • 功能动画仅负责呈现;数据和网络相关工作留在 Data 包中

范围与同级技能的关系

此技能负责动效层——教你如何构建流畅、高性能的动画。与同级技能一起加载时:

同级技能其关注点此技能的关注点
swift-ui-architect架构(模块化 MVVM-C、路由外壳、协议边界)动画架构(动效令牌、弹簧选择、编排)
ios-design-system设计系统基础设施(令牌、样式、治理)动效令牌和动画组件模式
ios-higHIG 合规模式动效相关的 HIG(减少动态效果、空间连续性)

不在范围内: 设计师创作的矢量动画(After Effects 导出内容请使用 Lottie)。复杂的 UIKit 转场控制器(参见 Airbnb 的声明式转场框架)。此技能仅涵盖以编程方式实现的 SwiftUI 动画。

Clinic 架构约定(iOS 26 / Swift 6.2)

此技能中的所有指导都基于 Clinic 模块化 MVVM-C 架构:

  • 功能模块仅导入 Domain + DesignSystem(绝不导入 Data 或同级功能模块)
  • App 目标是汇合点,并负责 DependencyContainer、具体协调器和 Route Shell 的连接
  • Domain 保持纯 Swift,定义模型以及 repository、*Coordinating、ErrorRouting 和 AppError 契约
  • Data 负责 SwiftData/网络/同步/重试/后台 I/O,并实现 Domain 协议
  • 读写流程默认采用 stale-while-revalidate 读取和乐观排队写入
  • ViewModel 直接调用 repository 协议(不设默认的用例/交互器层)

何时应用

在以下情况下参考这些准则:

  • 为 SwiftUI 视图或转场添加动画
  • 构建手势驱动的交互(拖动、滑动、平移)
  • 通过空间转场连接视图(展开/折叠、导航变形)
  • 设计微交互(按钮按下、切换、加载状态)
  • 让内容变化呈现出真实的物理效果(数字滚动、符号替换)
  • 编排多元素动画序列(KeyframeAnimator、PhaseAnimator)
  • 为设计系统定义动效令牌
  • 审查动画代码的性能、无障碍性和架构合规性

按优先级划分的规则类别

优先级类别影响前缀规则
1弹簧物理CRITICALspring-8
2时长与体验CRITICALfeel-6
3手势连续性HIGHgesture-7
4空间转场HIGHspatial-6
5微交互HIGHmicro-6
6编排HIGHorch-5
7工艺与润色HIGHcraft-5
8内容动效MEDIUM-HIGHcontent-5

快速参考

1. 弹簧物理(CRITICAL)
2. 时长与体验(CRITICAL)
3. 手势连续性(HIGH)
4. 空间转场(HIGH)
5. 微交互(HIGH)
6. 编排(HIGH)
7. 细节与润色(HIGH)
8. 内容动态效果(MEDIUM-HIGH)

使用方法

阅读各个参考文件,了解详细说明和错误/正确代码示例:

参考文件

文件描述
references/_sections.md类别定义和排序
assets/templates/_template.md新规则模板
metadata.json版本和参考信息

评论

支持 Markdown