Initializer

init(rotationAngle:)

Returns an affine transformation matrix constructed from a rotation value you provide.

Declaration

init(rotationAngle angle: CGFloat)

Parameters

angle

The angle, in radians, by which this matrix rotates the coordinate system axes. In iOS, a positive value specifies counterclockwise rotation and a negative value specifies clockwise rotation. In macOS, a positive value specifies clockwise rotation and a negative value specifies counterclockwise rotation.

Return Value

A new affine transformation matrix.

Discussion

This function creates a CGAffineTransform structure, which you can use (and reuse, if you want) to rotate a coordinate system. The matrix takes the following form:

A 3 by 3 matrix.

The actual direction of rotation is dependent on the coordinate system orientation of the target platform, which is different in iOS and macOS. Because the third column is always (0,0,1), the CGAffineTransform data structure returned by this function contains values for only the first two columns.

These are the resulting equations used to apply the rotation to a point (x, y):

Rotation equations.

If you want only to rotate an object to be drawn, it is not necessary to construct an affine transform to do so. The most direct way to rotate your drawing is by calling the function rotate(by:).

See Also

Creating an Affine Transformation Matrix

init(scaleX: CGFloat, y: CGFloat)

Returns an affine transformation matrix constructed from scaling values you provide.

init(translationX: CGFloat, y: CGFloat)

Returns an affine transformation matrix constructed from translation values you provide.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software