A layer that provides a way to asynchronously provide tiles of the layer's content, potentially cached at multiple levels of detail.


As more data is required by the renderer, the layer's draw(_:in:) method is called on one or more background threads to supply the drawing operations to fill in one tile of data. The clip bounds and current transformation matrix (CTM) of the drawing context can be used to determine the bounds and resolution of the tile being requested.

Regions of the layer may be invalidated using the setNeedsDisplay(_:) method however the update will be asynchronous. While the next display update will most likely not contain the updated content, a future update will.


Visual Fade

class func fadeDuration()

The time, in seconds, that newly added images take to "fade-in" to the rendered representation of the tiled layer.

Levels of detail

var levelsOfDetail: Int

The number of levels of detail maintained by this layer.

var levelsOfDetailBias: Int

The number of magnified levels of detail for this layer.

Layer tile size

var tileSize: CGSize

The maximum size of each tile used to create the layer's content.


Inherits From

Conforms To

See Also

Advanced Layer Options

class CAScrollLayer

A layer that displays scrollable content larger than its own bounds.

class CATransformLayer

CATransformLayer objects are used to create true 3D layer hierarchies, rather than the flattened hierarchy rendering model used by other CALayer classes.

class CAReplicatorLayer

A layer that creates a specified number of copies of its sublayers (the source layer), each copy potentially having geometric, temporal, and color transformations applied to it.