<!--
{
  "availability" : [
    "iOS: 3.2.0 -",
    "iPadOS: 3.2.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIBezierPath/addCurve(to:controlPoint1:controlPoint2:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIBezierPath(im)addCurveToPoint:controlPoint1:controlPoint2:"
  },
  "title" : "addCurve(to:controlPoint1:controlPoint2:)"
}
-->

# addCurve(to:controlPoint1:controlPoint2:)

Appends a cubic Bézier curve to the path.

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

## Parameters

`endPoint`

The end point of the curve.

`controlPoint1`

The first control point to use when computing the curve.

`controlPoint2`

The second control point to use when computing the curve.

## Discussion

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. The following image 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.

![](images/com.apple.uikit/media-1965856.jpg)

You must set the path’s current point (using the [`move(to:)`](/documentation/UIKit/UIBezierPath/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`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)