kean/align
The best way to create constraints in code.
Tip: Avoid Repeating `import Align`
To make Align available throughout your module without writing import Align in every file, add a single file (e.g. Align+Exported.swift) containing:
@_exported import AlignAny file in the same module can then use Align's APIs directly. This is especially convenient in app targets that lean heavily on Auto Layout.
Documentation
The documentation for Align is created using DocC and covers all of its APIs in a clear visual way. There is also a cheat sheet available that lists all of the available APIs.
<a href="https://kean-docs.github.io/align/documentation/align/"> <img alt="Screen Shot 2022-07-13 at 10 08 57 AM" src="https://user-images.githubusercontent.com/1567433/178755429-9420d25e-dad1-4e61-9a22-04139c5746e6.png" width="858px"> </a>
Requirements
| Align | Swift | Xcode | Platforms | |----------------|-------------|-------------------|--------------------------------------------| | Align 4.0 | Swift 6.0 | Xcode 26.0 | iOS 15, tvOS 15, macOS 13, visionOS 1 | | Align 3.3 | Swift 5.10 | Xcode 15.3 | iOS 14, tvOS 14, macOS 10.16 |
Why Align
Align strives for clarity and simplicity by following Swift API Design Guidelines. Although most of the APIs are compact, it is a non-goal to enable the most concise syntax possible.
What you get with Align:
- Fluent, high-level API for everyday Auto Layout
- Lightweight – ~400 lines, zero dependencies
- Minimal surface area – a single new property,
anchors, on every view and layout guide - Fast to compile – built on
NSLayoutConstraint, with no operator-overload soup - No ceremony – constraints are activated for you, and
translatesAutoresizingMaskIntoConstraintsis handled automatically
Package Metadata
Repository: kean/align
Default branch: main
README: README.md