Skip to content


Free Course

Using Constraint-Based Design

Related Nanodegree Program

Introduction to Programming

About this course

With this course, you will learn about AutoLayout and how to use stack views and constraints to create pixel-perfect UIs.

Also, you will take a deep dive and learn about some of the most commonly misunderstood properties affecting layout like distribution, alignment, content hugging, and compression resistance.

Then, you will put all of this knowledge to use and start creating functional interfaces with multiple stack views and UI elements. In fact, you will recreate an interface from a very well known app. And, by the end of this course, you will be ready to create beautiful interfaces from scratch.

What you will learn

  1. Welcome to AutoLayout!
    • Learn all the possible ways of laying out a view.
    • Determine how views should adapt when the available screen size changes.
    • Explore AutoLayout and constraints — the premiere tools for building adaptive views.
  2. Using AutoLayout
    • Survey various methods for implementing AutoLayout.
    • Use stack views to intuitively construct interfaces without getting muddled in the details.
  3. View Properties
    • Investigate the properties which control how elements are sized using AutoLayout.
    • Examine the nuances of compression resistance and content hugging.
  4. StackViews 101
    • Build and tweak layouts while exploring all the properties of stack views.
    • Modify axes, spacing, alignments, and distributions to arrange contained subviews.
  5. Positioning StackViews
    • Generate and configure constraints using Interface Builder and storyboards.
    • Analyze the interplay between stack views and different UI elements and devices.
  6. Horizontal Layouts
    • Troubleshoot common problems affecting horizontal stack views and elements with similar view properties.
    • Compose interfaces that embed stack views within stack views.
  7. Vertical Layouts
    • Use stack views to experiment with vertical layouts.
    • Recreate an interface from a very well known app!

Prerequisites and requirements

You will need to be familiar with UIKit and Storyboards.

See the Technology Requirements for using Udacity.

Why take this course?

For many developers, AutoLayout can be a curse: a complex system with unpredictable behavior that you can't run away from.

This course will remove the veil of mystery that shrouds AutoLayout.

You will be able to create any UI for any device.

Even better, you will actually understand what's going on!

Learn with the best.

  • Fernando Rodriguez
    Fernando Rodriguez