NEW: Learn iOS 11 with my latest book! >>

What are the different UIStackView distribution types?

Available from iOS 9.0 – see Hacking with Swift tutorial 31

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.

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.

Help support Hacking with Swift

This site is funded by Hacking with Swift supporters who buy my e-books. If you can, please support my work – it comes packed with bonus material!

Click here to visit the Hacking with Swift store >>