<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSLayoutConstraint/FormatOptions",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:@E@NSLayoutFormatOptions"
  },
  "title" : "NSLayoutConstraint.FormatOptions"
}
-->

# NSLayoutConstraint.FormatOptions

A bit mask that specifies both a part of an interface element to align and a direction for the alignment between two interface elements.

```
struct FormatOptions
```

## Topics

### Constants

[`static var alignAllLeft: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllLeft)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.left`](/documentation/AppKit/NSLayoutConstraint/Attribute/left) on each.

[`static var alignAllRight: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllRight)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.right`](/documentation/AppKit/NSLayoutConstraint/Attribute/right) on each.

[`static var alignAllTop: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllTop)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.top`](/documentation/AppKit/NSLayoutConstraint/Attribute/top) on each.

[`static var alignAllBottom: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllBottom)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.bottom`](/documentation/AppKit/NSLayoutConstraint/Attribute/bottom) on each.

[`static var alignAllLeading: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllLeading)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.leading`](/documentation/AppKit/NSLayoutConstraint/Attribute/leading) on each.

[`static var alignAllTrailing: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllTrailing)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.trailing`](/documentation/AppKit/NSLayoutConstraint/Attribute/trailing) on each.

[`static var alignAllCenterX: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllCenterX)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.centerX`](/documentation/AppKit/NSLayoutConstraint/Attribute/centerX) on each.

[`static var alignAllCenterY: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllCenterY)

Align all specified interface elements using [`NSLayoutConstraint.Attribute.centerY`](/documentation/AppKit/NSLayoutConstraint/Attribute/centerY) on each.

[`static var alignAllLastBaseline: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllLastBaseline)

Align all specified interface elements using the last baseline of each one.

[`static var alignAllFirstBaseline: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignAllFirstBaseline)

Align all specified interface elements using the first baseline of each one.

[`static var alignmentMask: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/alignmentMask)

Bit mask that can be combined with an [`NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions) variable to yield only the alignment portion of the format options.

[`static var directionLeadingToTrailing: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/directionLeadingToTrailing)

Arrange objects in order based on the normal text flow for the current user interface language. In left-to-right languages (like English), this arrangement results in the first object being placed farthest to the left, the next one to its right, and so on. In right-to-left languages (like Arabic or Hebrew), the ordering is reversed.

[`static var directionLeftToRight: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/directionLeftToRight)

Arrange objects in order from left to right.

[`static var directionRightToLeft: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/directionRightToLeft)

Arrange objects in order from right to left.

[`static var directionMask: NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/directionMask)

A bit mask that can be combined with an [`NSLayoutConstraint.FormatOptions`](/documentation/AppKit/NSLayoutConstraint/FormatOptions) variable to yield only the direction portion of the format options.

### Initializers

[`init(rawValue: UInt)`](/documentation/AppKit/NSLayoutConstraint/FormatOptions/init(rawValue:))

Creates a formatting-options structure with the specified raw value.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SetAlgebra`](/documentation/Swift/SetAlgebra)

[`Equatable`](/documentation/Swift/Equatable)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`OptionSet`](/documentation/Swift/OptionSet)

[`BitwiseCopyable`](/documentation/Swift/BitwiseCopyable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`ExpressibleByArrayLiteral`](/documentation/Swift/ExpressibleByArrayLiteral)

---

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)