NEW: Master Swift design patterns with my latest book! >>

What are the different UIStackView distribution types?

Written by Paul Hudson    @twostraws

One of the most compelling reasons to upgrade to iOS 9.0 is the new UIStackView class it introduced, which offers a simplified way of doing layouts in iOS. To give you more control over how it arranges their subviews, stack views offer five different distribution types for you to try, and here's what they do:

  • Fill makes one subview take up most of the space, while the others remain at their natural size. It decides which view to stretch by examining the content hugging priority for each of the subviews.
  • Fill Equally adjusts each subview so that it takes up equal amount of space in the stack view. All space will be used up.
  • Fill Proportionally is the most interesting, because it ensures subviews remain the same size relative to each other, but still stretches them to fit the available space. For example, if one view is 100 across and another is 200, and the stack view decides to stretch them to take up more space, the first view might stretch to 150 and the other to 300 – both going up by 50%.
  • Equal Spacing adjusts the spacing between subviews without resizing the subviews themselves.
  • Equal Centering attempts to ensure the centers of each subview are equally spaced, irrespective of how far the edge of each subview is positioned.

Available from iOS 9.0 – see Hacking with Swift tutorial 31

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Learn Swift faster!

Take your Swift learning to the next level: buy the Hacking with Swift e-book and get bonus material to help you learn faster!

Click here to visit the Hacking with Swift store >>