Instance Method


Appends a cubic Bézier curve to the receiver’s path.


func addCurve(to endPoint: CGPoint, controlPoint1: CGPoint, controlPoint2: CGPoint)



The end point of the curve.


The first control point to use when computing the curve.


The second control point to use when computing the curve.


This method appends a cubic Bézier curve from the current point to the end point specified by the endPoint parameter. The two control points define the curvature of the segment. Figure 1 shows an approximation of a cubic Bézier curve given a set of initial points. The exact curvature of the segment involves a complex mathematical relationship between all of the points and is well documented online.

Figure 1

A cubic Bézier curve

You must set the path’s current point (using the move(to:) method or through the previous creation of a line or curve segment) before you call this method. If the path is empty, this method does nothing. After adding the curve segment, this method updates the current point to the value in point.

See Also

Constructing a Path

func move(to: CGPoint)

Moves the receiver’s current point to the specified location.

func addLine(to: CGPoint)

Appends a straight line to the receiver’s path.

func addQuadCurve(to: CGPoint, controlPoint: CGPoint)

Appends a quadratic Bézier curve to the receiver’s path.

func close()

Closes the most recently added subpath.

func removeAllPoints()

Removes all points from the receiver, effectively deleting all subpaths.

func append(UIBezierPath)

Appends the contents of the specified path object to the receiver’s path.

var cgPath: CGPath

The Core Graphics representation of the path.

var currentPoint: CGPoint

The current point in the graphics path.