QuartzCore provides Core Animation, a hardware-accelerated compositing and animation system for building high-performance graphics on iOS, macOS, tvOS, watchOS, and visionOS. You arrange content into a hierarchy of CALayer objects, including specialized layers such as CAGradientLayer and CAEmitterLayer, and animate their properties with CABasicAnimation, CAKeyframeAnimation, CASpringAnimation, CATransition, and CAAnimationGroup, controlling timing through CAMediaTiming and CAMediaTimingFunction. Layer layout is governed by CAConstraint and CAConstraintLayoutManager, while CADisplayLink synchronizes your drawing with the display's refresh, supporting frame-rate control via CAFrameRateRange.
Layers 2
The base layer class and the layer hierarchy that holds and composites visual content.
- ClCALayermacOS 10.5+The base layer class.
- PrCALayerDelegatemacOS 10.12+Delegate methods.
Specialized Layers 11
Layer subclasses that draw gradients, shapes, text, particles, and other specialized content.
- ClCAGradientLayermacOS 10.6+A layer that draws a color gradient over its background color, filling the shape of the layer.
- ClCAShapeLayermacOS 10.6+A layer that draws a cubic Bezier spline in its coordinate space, with configurable fill and stroke.
- ClCATextLayermacOS 10.5+A layer that provides simple text layout and rendering of plain or attributed strings.
- ClCAEmitterLayermacOS 10.6+A layer that emits, animates, and renders a particle system.
- ClCAEmitterCellmacOS 10.6+An object that defines a source of particle content and the properties applied to each emitted particle.
- ClCAReplicatorLayermacOS 10.6+A layer that creates a specified number of copies of its sublayers, each with applied transforms.
- ClCAScrollLayermacOS 10.5+A layer that displays a portion of a scrollable layer hierarchy.
- ClCATiledLayermacOS 10.5+A layer that provides a way to asynchronously draw layer content in tiles at multiple levels of detail.
- ClCATransformLayermacOS 10.6+A layer that renders its sublayers as a true 3D hierarchy rather than a flattened plane.
- ClCAMetalLayermacOS 10.11+A layer that manages a pool of Metal drawables for rendering layer content with Metal.
- ClCAOpenGLLayerA layer that provides a way to draw OpenGL content in a Core Animation layer hierarchy.
Animations 8
Animation classes that interpolate layer properties over time, plus transitions and groups.
- ClCAAnimationmacOS 10.5+The base animation class.
- ClCAPropertyAnimationmacOS 10.5+Subclass for property-based animations.
- ClCABasicAnimationmacOS 10.5+Subclass for basic (single-keyframe) animations.
- ClCAKeyframeAnimationmacOS 10.5+General keyframe animation class.
- ClCASpringAnimationmacOS 10.11+Subclass for mass-spring animations.
- ClCATransitionmacOS 10.5+Transition animation subclass.
- ClCAAnimationGroupmacOS 10.5+Animation subclass for grouped animations.
- PrCAAnimationDelegatemacOS 10.12+A set of methods an animation's delegate implements to respond to start and stop events.
Timing 6
Protocols and types that control the pacing, fill behavior, and timing curves of animations.
- PrCAMediaTimingmacOS 10.5+A protocol that defines the timing model used to map a parent time range onto a local one.
- ClCAMediaTimingFunctionmacOS 10.5+An object that defines the pacing of an animation as a timing curve.
- StCAMediaTimingFunctionNamemacOS 10.5+Constants that specify standard, predefined media timing functions.
- StCAMediaTimingFillModemacOS 10.5+Constants that specify how an animation extends time beyond its active duration.
- ClCAValueFunctionmacOS 10.6+An object that provides a transform applied to a layer property as an animation runs.
- StCAValueFunctionNamemacOS 10.6+Constants that specify the predefined value functions available for transform animations.
Transactions and Actions 2
Mechanisms for batching layer changes and supplying custom layer action behavior.
- ClCATransactionmacOS 10.5+A mechanism for batching multiple layer-tree operations into an atomic update.
- PrCAActionmacOS 10.5+Action (event handler) protocol.
Layout 4
Layout managers and constraints that position and size layers within a hierarchy.
- ClCAConstraintLayoutManagermacOS 10.5+The constraint-based layout manager.
- ClCAConstraintmacOS 10.5+The class representing a single layout constraint.
- PrCALayoutManagerLayout manager protocol.
- EnCAConstraintAttributeConstants that identify the layer geometry attributes a constraint can relate.
Display Synchronization 5
Display links and frame-rate types that synchronize drawing with the screen's refresh.
- ClCADisplayLinkmacOS 14.0+Class representing a timer bound to the display vsync.
- ClCAMetalDisplayLinkmacOS 14.0+A timer object that synchronizes Metal rendering to the refresh rate of a display.
- PrCAMetalDisplayLinkDelegatemacOS 14.0+A protocol for responding to callbacks delivered by a Metal display link as frames become available.
- PrCAMetalDrawableA protocol for a displayable resource that a Metal layer vends for rendering.
- StCAFrameRateRangemacOS 12.0+A structure that defines a range of acceptable frame rates, including a preferred rate.
Offscreen and Remote Rendering 3
Renderers and remote-layer clients for compositing layer trees outside the main display.
- ClCARenderermacOS 10.5+An object that renders a layer tree into a Metal texture for offscreen compositing.
- ClCARemoteLayerClientmacOS 10.7+An object that exports a layer tree for display in another process.
- ClCARemoteLayerServermacOS 10.7+An object that hosts layer trees exported from other processes.
Geometry and Color 2
The 3D transform structure and high-dynamic-range metadata used during compositing.
- StCATransform3DmacOS 10.5+A structure that defines a three-dimensional transformation matrix applied to layers.
- ClCAEDRMetadatamacOS 10.15+An object that describes the extended dynamic range characteristics of layer content.
Layer Appearance Options 7
Constants that configure layer contents, corners, edges, and resizing behavior.
- StCALayerContentsGravitymacOS 10.5+Constants that specify how a layer's contents are positioned and scaled within its bounds.
- StCALayerContentsFormatmacOS 10.12+Constants that specify the pixel format used for a layer's contents.
- StCALayerContentsFiltermacOS 10.5+Constants that specify the filtering applied when a layer's contents are scaled.
- StCALayerCornerCurvemacOS 10.15+Constants that specify the curve style used when rounding a layer's corners.
- StCACornerMaskmacOS 10.13+Constants that specify which corners of a layer are rounded.
- StCAAutoresizingMaskConstants that specify how a layer resizes relative to its superlayer.
- StCAEdgeAntialiasingMaskmacOS 10.10+Constants that specify which edges of a layer are antialiased.
Animation and Transition Options 5
Constants that specify how animations calculate values and how transitions are presented.
- StCAAnimationCalculationModemacOS 10.5+Constants that specify how intermediate keyframe values are calculated during an animation.
- StCAAnimationRotationModemacOS 10.5+Constants that specify how a layer rotates to follow an animation path.
- StCATransitionTypemacOS 10.5+Constants that specify the type of transition effect to perform.
- StCATransitionSubtypemacOS 10.5+Constants that specify the direction of a directional transition effect.
- StCAGradientLayerTypemacOS 10.6+Constants that specify the style of gradient a gradient layer draws.
Specialized Layer Options 9
Constants that configure emitter, shape, text, and scroll layer behavior.
- StCAEmitterLayerEmitterShapemacOS 10.6+Constants that specify the geometric shape from which particles are emitted.
- StCAEmitterLayerEmitterModemacOS 10.6+Constants that specify the location within the emitter shape where particles originate.
- StCAEmitterLayerRenderModemacOS 10.6+Constants that specify the order and compositing used when rendering emitted particles.
- StCAShapeLayerFillRulemacOS 10.6+Constants that specify the rule used to fill the interior of a shape layer's path.
- StCAShapeLayerLineJoinmacOS 10.6+Constants that specify the shape of joints between connected segments of a stroked path.
- StCAShapeLayerLineCapmacOS 10.6+Constants that specify the shape drawn at the endpoints of a stroked path.
- StCATextLayerTruncationModemacOS 10.5+Constants that specify how text is truncated when it exceeds a text layer's bounds.
- StCATextLayerAlignmentModemacOS 10.5+Constants that specify the horizontal alignment of text within a text layer.
- StCAScrollLayerScrollModemacOS 10.5+Constants that specify the axes along which a scroll layer can scroll.