mcpField
C
core-animation

core-animation

github.com/prisma-labs-dev开发349423 次安装5 周前更新
代码仓库

关于 core-animation

面向直接使用 Core Animation 和 QuartzCore 的开发者的参考技能,按主题整理图层、动画类型、事务、计时和显示回调文档。

主要功能

  1. 01QuartzCore 主题索引
  2. 02图层与层级指南
  3. 03属性、关键帧和弹簧动画
  4. 04动画组合与过渡
  5. 05粒子与显示链接参考

适用场景

  1. 01为 CALayer 属性添加动画
  2. 02创建关键帧或弹簧效果
  3. 03使用 CATransaction 批量处理图层更改
  4. 04构建粒子或逐帧效果

安装

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

$npx skills add https://github.com/prisma-labs-dev/apple-skills --skill core-animation

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

包含的文件

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

caanimation.md
caanimationgroup.md
cabasicanimation.md
cadisplaylink.md
caemittercell.md
caemitterlayer.md
cagradientlayer.md
cakeyframeanimation.md
calayer.md
camediatiming.md
cametallayer.md
capropertyanimation.md
careplicatorlayer.md
cashapelayer.md
caspringanimation.md
catextlayer.md
catiledlayer.md
catransaction.md
catransform3d.md
catransition.md
core-animation-index.md

详细介绍

Core Animation 参考

搜索这些文档以解答有关 Core Animation(QuartzCore 框架)的问题。直接使用 CALayer、由 layer 支持的 UIKit/AppKit 视图、对 layer 属性进行显式关键帧或弹簧动画、粒子系统,或通过 CADisplayLink 实现逐帧回调时,请使用此技能。

对于 SwiftUI 的声明式动画 API(withAnimation、Animation、.animation(_:value:)、过渡),请改用 Apple 的 swiftui-specialist 技能(其中的动画参考)。对于 SwiftUI 即时模式绘图,请使用 swiftui/canvas.md 和 swiftui/graphicscontext.md。

返回格式

始终包含:

  1. 摘要 — 简洁地回答问题。
  2. 文件路径 — 列出相关文件以供查看完整详情,例如:
    • calayer.md:图层几何、内容、层级结构
    • cabasicanimation.md:在两个值之间为单个属性添加动画
    • catransaction.md:批量处理、禁用隐式动画或更改默认时长

文件

文件内容
core-animation-index.mdQuartzCore 框架完整索引 — 图层基础、动画类、事务、图层子类
calayer.mdCALayer — 根图层类:几何、内容、层级结构、布局、动画
caanimation.mdCAAnimation — 所有 Core Animation 动画类型的抽象基类
capropertyanimation.mdCAPropertyAnimation — 对单个图层属性添加动画的抽象子类
cabasicanimation.mdCABasicAnimation — 在两个值之间插值计算图层属性
cakeyframeanimation.mdCAKeyframeAnimation — 通过一系列关键帧为属性添加动画
caspringanimation.mdCASpringAnimation — 基于弹簧的插值计算,包含质量、刚度和阻尼
caanimationgroup.mdCAAnimationGroup — 以共享时长同时运行多个动画
catransition.mdCATransition — 图层状态之间的淡入淡出、推入、揭示和移入过渡
camediatiming.mdCAMediaTiming — 图层和动画共用的协议(beginTime、duration、repeat、speed)
catransaction.mdCATransaction — 批量处理属性更改、禁用隐式动画、设置默认时长/时间参数
catransform3d.mdCATransform3D — CALayer.transform 用于 3D 变换的 4×4 矩阵
cashapelayer.mdCAShapeLayer — 由 CGPath 驱动的矢量形状图层(描边、填充、虚线)
cagradientlayer.mdCAGradientLayer — 轴向、径向和圆锥渐变图层
caemitterlayer.mdCAEmitterLayer — 粒子发射器图层(火焰、烟雾、彩纸、闪光)
caemittercell.mdCAEmitterCell — CAEmitterLayer 使用的单个粒子定义
careplicatorlayer.mdCAReplicatorLayer — 使用偏移和变换复制子图层
cametallayer.mdCAMetalLayer — 由 Metal drawable 支持、用于 GPU 渲染内容的图层
catextlayer.mdCATextLayer — 渲染纯文本或富文本的图层
catiledlayer.mdCATiledLayer — 用于大型或可缩放图层的基于图块的异步内容渲染
cadisplaylink.mdCADisplayLink — 与显示器刷新率同步的计时器

何时使用 Core Animation

  • 你需要为 SwiftUI/UIKit 未以声明式方式公开的图层属性添加动画(例如 CAGradientLayer.colors、CAShapeLayer.strokeEnd、CAEmitterLayer.birthRate)。
  • 你需要明确控制关键帧或弹簧效果,并为各个片段设置计时函数(CAMediaTimingFunction)。
  • 你想批量关闭隐式动画(CATransaction.setDisableActions(true))。
  • 你需要 CADisplayLink 的逐帧回调(自定义绘制循环、拖动定位、物理模拟)。
  • 你要使用 CAEmitterLayer 渲染数千个粒子,或使用 CAReplicatorLayer 复制子图层。

如果你的问题可以通过 SwiftUI 中的 withAnimation { ... } 或 UIKit 中的 UIView.animate { ... } 解决,优先使用它们——Core Animation 位于两者底层,在 2026 年的代码中很少是合适的起点。

获取更多文档

  1. 先搜索此技能本地的 .md 文件。
  2. 如果这里没有相关主题,请查看其他已安装的 Apple 技能,然后搜索它们的本地文件。
  3. 如果没有已安装的技能包含该页面,Apple 网站上的 QuartzCore 路径为 /documentation/quartzcore/<symbol>——通过 sosumi.ai Markdown 镜像获取(例如 https://sosumi.ai/documentation/quartzcore/camediatimingfunction),或运行 pnpm fetch-doc,使用 apple-skills 工具。

评论

支持 Markdown