Using Constraint-Based Design


大约 6 个星期

6小时每周 (自主学习)




大约 6 个星期

6小时每周 (自主学习)



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.


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!


You will need to be familiar with UIKit and Storyboards.



Lesson 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.

Lesson 2 - Using AutoLayout

  • Survey various methods for implementing AutoLayout.
  • Use stack views to intuitively construct interfaces without getting muddled in the details.

Lesson 3 - View Properties

  • Investigate the properties which control how elements are sized using AutoLayout.
  • Examine the nuances of compression resistance and content hugging.

Lesson 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.

Lesson 5 - Positioning StackViews

  • Generate and configure constraints using Interface Builder and storyboards.
  • Analyze the interplay between stack views and different UI elements and devices.

Lesson 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.

Lesson 7 - Vertical Layouts

  • Use stack views to experiment with vertical layouts.
  • Recreate an interface from a very well known app!


Fernando Rodriguez

Fernando Rodriguez

Fernando Rodríguez has been teaching iOS development for almost 5 years, from small companies in Bolivia to Facebook in Menlo Park and almost everything in between. His current obsessions are Cocoa, Swift, and Objective-C. However, in previous incarnations he was a Python/Django hacker, Smalltalker, and much to his regret: C++ monkey. As the wheel of samsara relentlessly turns, this humble nerd expects someday to reach Nerdvana and end up as a Lisp hacker. When not coding or teaching, Fernando practices his other true passion - cooking! You can reach him on Twitter: @frr149