<!--
{
  "availability" : [
    "macOS: 10.11.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSLayoutAnchor/constraint(equalTo:constant:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSLayoutAnchor(im)constraintEqualToAnchor:constant:"
  },
  "title" : "constraint(equalTo:constant:)"
}
-->

# constraint(equalTo:constant:)

Returns a constraint that defines one item’s attribute as equal to another item’s attribute plus a constant offset.

```
func constraint(equalTo anchor: NSLayoutAnchor<AnchorType>, constant c: CGFloat) -> NSLayoutConstraint
```

## Parameters

`anchor`

A layout anchor from an [`NSView`](/documentation/AppKit/NSView) or [`NSLayoutGuide`](/documentation/AppKit/NSLayoutGuide) object. You must use a subclass of [`NSLayoutAnchor`](/documentation/AppKit/NSLayoutAnchor) that matches the current anchor. For example, if you call this method on an [`NSLayoutXAxisAnchor`](/documentation/AppKit/NSLayoutXAxisAnchor) object, this parameter must be another [`NSLayoutXAxisAnchor`](/documentation/AppKit/NSLayoutXAxisAnchor).

`c`

The constant offset for the constraint.

## Return Value

An [`NSLayoutConstraint`](/documentation/AppKit/NSLayoutConstraint) object that defines an equal relationship between the attributes represented by the two layout anchors plus a constant offset.

## Discussion

This method defines the relationship `first attribute = second attribute + c`. Where `first attribute` is the layout attribute represented by the anchor receiving this method call, and `second attribute` is the layout attribute represented by the `anchor` parameter. The value `c`, represents a constant offset. All values are measured in points; however, these values can be interpreted in different ways, depending on the type of layout anchor.

- For [`NSLayoutXAxisAnchor`](/documentation/AppKit/NSLayoutXAxisAnchor) objects, the first attribute is positioned `c` points after the second attribute. When using leading or trailing attributes, values increase as you move in the language’s reading direction. In English, for example, values increase as you move to the right. For left and right attributes, values always increase as you move right.
- For [`NSLayoutYAxisAnchor`](/documentation/AppKit/NSLayoutYAxisAnchor) objects, the first attribute is positioned `c` points below the second attribute. Values increase as you move down.
- For [`NSLayoutDimension`](/documentation/AppKit/NSLayoutDimension) objects, the size of the first attribute is `c` points larger than the size of the second attribute. Values increase as items increase in size.

The constraints produced by the following two examples are identical.

```swift
// Creating a constraint using NSLayoutConstraint
 
NSLayoutConstraint(item: textField,
                   attribute: .Leading,
                   relatedBy: .Equal,
                   toItem: label,
                   attribute: .Trailing,
                   multiplier: 1.0,
                   constant: 8.0).isActive = true
 
// Creating the same constraint using constraintEqualToAnchor:constant:
textField.leadingAnchor.constraintEqualToAnchor(label.trailingAnchor, constant: 8.0).isActive = true
```

---

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)