Search code examples
iosuiscrollviewautolayoutuistackview

Is it possible for UIStackView to scroll?


Let's say I have added more views in UIStackView which can be displayed, how I can make the UIStackView scroll?


Solution

  • In case anyone is looking for a solution without code, I created an example to do this completely in the storyboard, using Auto Layout.

    You can get it from github.

    Basically, to recreate the example (for vertical scrolling):

    1. Create a UIScrollView, and set its constraints.
    2. Add a UIStackView to the UIScrollView
    3. Set the constraints: Leading, Trailing, Top & Bottom should be equal to the ones from UIScrollView
    4. Set up an equal Width constraint between the UIStackView and UIScrollView.
    5. Set Axis = Vertical, Alignment = Fill, Distribution = Equal Spacing, and Spacing = 0 on the UIStackView
    6. Add a number of UIViews to the UIStackView
    7. Run

    Exchange Width for Height in step 4, and set Axis = Horizontal in step 5, to get a horizontal UIStackView.