← All courses

Auto Layout

🗓 May 31, 2026 ⏱ 1 min read

Constraints

Auto Layout positions views with rules (constraints) like “pin to the top with 20pt”.

NSLayoutConstraint.activate([
    label.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 20),
    label.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
    label.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16)
])

Stack views (easier layout)

let stack = UIStackView(arrangedSubviews: [titleLabel, subtitleLabel])
stack.axis = .vertical
stack.spacing = 8
stack.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(stack)
Rule: never hard-code frames/positions. Use constraints and stack views so layouts work on every iPhone and iPad, portrait or landscape.