iOS Developer Library

Developer

QuartzCore Framework Reference CATransformLayer Class Reference

Options
Deployment Target:

On This Page
Language:

CATransformLayer

Inheritance


Import Statement


Swift

import QuartzCore

Objective-C

@import QuartzCore;

Availability


Available in iOS 3.0 and later.

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

Unlike normal layers, transform layers do not flatten their sublayers into the plane at Z=0. Due to this, they do not support many of the features of the CALayer class compositing model:

  • Only the sublayers of a transform layer are rendered. The CALayer properties that are rendered by a layer are ignored, including: backgroundColor, contents, border style properties, stroke style properties, etc.

  • The properties that assume 2D image processing are also ignored, including: filters, backgroundFilters, compositingFilter, mask, masksToBounds, and shadow style properties.

  • The opacity property is applied to each sublayer individually, the transform layer does not form a compositing group.

  • The hitTest: method should never be called on a transform layer as they do not have a 2D coordinate space into which the point can be mapped.

  • Returns the farthest descendant of the receiver in the layer hierarchy (including itself) that contains a specified point.

    Declaration

    Objective-C

    - (CALayer *)hitTest:(CGPoint)thePoint

    Parameters

    thePoint

    A point in the coordinate system of the receiver's superlayer.

    Return Value

    The layer that contains thePoint, or nil if the point lies outside the receiver’s bounds rectangle.

    Discussion

    Transform layers do not support hit-testing. As a result, you should not send hitTest: messages to transform layers.