TechnologiesGraphics, Imaging & Compositing

QuartzCore

iOSmacOStvOSwatchOSvisionOS

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.

  • Cl
    CALayermacOS 10.5+
    The base layer class.
  • Pr
    CALayerDelegatemacOS 10.12+
    Delegate methods.

Specialized Layers 11

Layer subclasses that draw gradients, shapes, text, particles, and other specialized content.

  • Cl
    CAGradientLayermacOS 10.6+
    A layer that draws a color gradient over its background color, filling the shape of the layer.
  • Cl
    CAShapeLayermacOS 10.6+
    A layer that draws a cubic Bezier spline in its coordinate space, with configurable fill and stroke.
  • Cl
    CATextLayermacOS 10.5+
    A layer that provides simple text layout and rendering of plain or attributed strings.
  • Cl
    CAEmitterLayermacOS 10.6+
    A layer that emits, animates, and renders a particle system.
  • Cl
    CAEmitterCellmacOS 10.6+
    An object that defines a source of particle content and the properties applied to each emitted particle.
  • Cl
    CAReplicatorLayermacOS 10.6+
    A layer that creates a specified number of copies of its sublayers, each with applied transforms.
  • Cl
    CAScrollLayermacOS 10.5+
    A layer that displays a portion of a scrollable layer hierarchy.
  • Cl
    CATiledLayermacOS 10.5+
    A layer that provides a way to asynchronously draw layer content in tiles at multiple levels of detail.
  • Cl
    CATransformLayermacOS 10.6+
    A layer that renders its sublayers as a true 3D hierarchy rather than a flattened plane.
  • Cl
    CAMetalLayermacOS 10.11+
    A layer that manages a pool of Metal drawables for rendering layer content with Metal.
  • Cl
    CAOpenGLLayer
    A 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.

  • Cl
    CAAnimationmacOS 10.5+
    The base animation class.
  • Cl
    CAPropertyAnimationmacOS 10.5+
    Subclass for property-based animations.
  • Cl
    CABasicAnimationmacOS 10.5+
    Subclass for basic (single-keyframe) animations.
  • Cl
    CAKeyframeAnimationmacOS 10.5+
    General keyframe animation class.
  • Cl
    CASpringAnimationmacOS 10.11+
    Subclass for mass-spring animations.
  • Cl
    CATransitionmacOS 10.5+
    Transition animation subclass.
  • Cl
    CAAnimationGroupmacOS 10.5+
    Animation subclass for grouped animations.
  • Pr
    CAAnimationDelegatemacOS 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.

  • Pr
    CAMediaTimingmacOS 10.5+
    A protocol that defines the timing model used to map a parent time range onto a local one.
  • Cl
    CAMediaTimingFunctionmacOS 10.5+
    An object that defines the pacing of an animation as a timing curve.
  • St
    CAMediaTimingFunctionNamemacOS 10.5+
    Constants that specify standard, predefined media timing functions.
  • St
    CAMediaTimingFillModemacOS 10.5+
    Constants that specify how an animation extends time beyond its active duration.
  • Cl
    CAValueFunctionmacOS 10.6+
    An object that provides a transform applied to a layer property as an animation runs.
  • St
    CAValueFunctionNamemacOS 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.

  • Cl
    CATransactionmacOS 10.5+
    A mechanism for batching multiple layer-tree operations into an atomic update.
  • Pr
    CAActionmacOS 10.5+
    Action (event handler) protocol.

Layout 4

Layout managers and constraints that position and size layers within a hierarchy.

  • Cl
    CAConstraintLayoutManagermacOS 10.5+
    The constraint-based layout manager.
  • Cl
    CAConstraintmacOS 10.5+
    The class representing a single layout constraint.
  • Pr
    CALayoutManager
    Layout manager protocol.
  • En
    CAConstraintAttribute
    Constants 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.

  • Cl
    CADisplayLinkmacOS 14.0+
    Class representing a timer bound to the display vsync.
  • Cl
    CAMetalDisplayLinkmacOS 14.0+
    A timer object that synchronizes Metal rendering to the refresh rate of a display.
  • Pr
    CAMetalDisplayLinkDelegatemacOS 14.0+
    A protocol for responding to callbacks delivered by a Metal display link as frames become available.
  • Pr
    CAMetalDrawable
    A protocol for a displayable resource that a Metal layer vends for rendering.
  • St
    CAFrameRateRangemacOS 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.

  • Cl
    CARenderermacOS 10.5+
    An object that renders a layer tree into a Metal texture for offscreen compositing.
  • Cl
    CARemoteLayerClientmacOS 10.7+
    An object that exports a layer tree for display in another process.
  • Cl
    CARemoteLayerServermacOS 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.

  • St
    CATransform3DmacOS 10.5+
    A structure that defines a three-dimensional transformation matrix applied to layers.
  • Cl
    CAEDRMetadatamacOS 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.

  • St
    CALayerContentsGravitymacOS 10.5+
    Constants that specify how a layer's contents are positioned and scaled within its bounds.
  • St
    CALayerContentsFormatmacOS 10.12+
    Constants that specify the pixel format used for a layer's contents.
  • St
    CALayerContentsFiltermacOS 10.5+
    Constants that specify the filtering applied when a layer's contents are scaled.
  • St
    CALayerCornerCurvemacOS 10.15+
    Constants that specify the curve style used when rounding a layer's corners.
  • St
    CACornerMaskmacOS 10.13+
    Constants that specify which corners of a layer are rounded.
  • St
    CAAutoresizingMask
    Constants that specify how a layer resizes relative to its superlayer.
  • St
    CAEdgeAntialiasingMaskmacOS 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.

  • St
    CAAnimationCalculationModemacOS 10.5+
    Constants that specify how intermediate keyframe values are calculated during an animation.
  • St
    CAAnimationRotationModemacOS 10.5+
    Constants that specify how a layer rotates to follow an animation path.
  • St
    CATransitionTypemacOS 10.5+
    Constants that specify the type of transition effect to perform.
  • St
    CATransitionSubtypemacOS 10.5+
    Constants that specify the direction of a directional transition effect.
  • St
    CAGradientLayerTypemacOS 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.

  • St
    CAEmitterLayerEmitterShapemacOS 10.6+
    Constants that specify the geometric shape from which particles are emitted.
  • St
    CAEmitterLayerEmitterModemacOS 10.6+
    Constants that specify the location within the emitter shape where particles originate.
  • St
    CAEmitterLayerRenderModemacOS 10.6+
    Constants that specify the order and compositing used when rendering emitted particles.
  • St
    CAShapeLayerFillRulemacOS 10.6+
    Constants that specify the rule used to fill the interior of a shape layer's path.
  • St
    CAShapeLayerLineJoinmacOS 10.6+
    Constants that specify the shape of joints between connected segments of a stroked path.
  • St
    CAShapeLayerLineCapmacOS 10.6+
    Constants that specify the shape drawn at the endpoints of a stroked path.
  • St
    CATextLayerTruncationModemacOS 10.5+
    Constants that specify how text is truncated when it exceeds a text layer's bounds.
  • St
    CATextLayerAlignmentModemacOS 10.5+
    Constants that specify the horizontal alignment of text within a text layer.
  • St
    CAScrollLayerScrollModemacOS 10.5+
    Constants that specify the axes along which a scroll layer can scroll.

Extends 2

NSNullNSValue
← Graphics, Imaging & Compositing