NEW: Join my free 100 Days of SwiftUI challenge today! >>

What are the different UIStackView distribution types?

Swift version: 5.1

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.

LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!

Available from iOS 9.0 – see Hacking with Swift tutorial 31

Similar solutions…

About the Swift Knowledge Base

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

Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

Average rating: 4.3/5