用途:编写、审查和修复 SwiftUI 动画与转场,按现代 API 处理时序、转场与无障碍,使用 Swift 6.3 模式,面向 iOS 26+。
主要能力:提供分诊流程,先判断动画类别(状态驱动、多阶段、关键帧、共享元素、导航、视图生命周期、文本内容、Symbol、自定义),再选择曲线(linear、easeIn/Out/InOut,以及 .smooth、.snappy、.bouncy 等 Spring 预设和自定义 Spring),最后应用并验证。覆盖 withAnimation(含 iOS 17+ completion)、隐式动画 .animation(:body:) 与 .animation(:value:)、Spring 类型四种初始化形式、PhaseAnimator、KeyframeAnimator(Linear/Cubic/Spring/MoveKeyframe)、@Animatable 宏、matchedGeometryEffect、iOS 18+ 导航缩放转场、Transitions、ContentTransition、Symbol Effects 与渲染模式。
使用方式:按内容目录逐节查阅;示例代码保持原样,如 withAnimation(.spring) { isExpanded.toggle() }、.animation(.bouncy, value: isActive)、.symbolEffect(.bounce, value: notificationCount)。审查时对照 Review Checklist,并参考 references/animation-advanced.md 与 references/core-animation-bridge.md。
适用场景:为 SwiftUI 视图添加或改进动画、排查动画不生效或范围过宽、实现英雄转场与导航缩放、SF Symbol 动效、数字与文本内容过渡。
限制:资料未提供安装命令、收费、价格与平台支持范围;部分 API 有系统版本要求(如 PhaseAnimator、KeyframeAnimator 需 iOS 17+,导航缩放需 iOS 18+)。需注意常见错误:避免裸用 .animation(_:)、不在动画闭包内做重计算、支持 Reduce Motion、每个 ID 只保留一个可见的 matchedGeometryEffect 源、不用 DispatchQueue 或 UIView.animate、ContentTransition 需配合 animation、navigationTransition 应加在最外层目标视图。