There are two ways you can get the scrolling to work.
Approach 1 (with code):
1) Pin UIScrollView
to the sides of its parent view, as mentioned below.

2) Set content size of your scroll view in viewDidLayoutSubviews
:
- (void)viewDidLayoutSubviews {
self.MainScroll.contentSize = CGSizeMake(320, 1800);
}
Approach 2 (pure IB, no code required):
1) Setting contentSize
is not required if using AutoLayout
. You need to pin your UIScrollView
to the parent view as mentioned below:

2) Then add another UIView
inside UIScrollView to act as a content view and pin it to the UIScrollView and move all controls inside this content view:

3) Pin content view to its parent scroll view as mentioned below:

4) Set your UIViewController's Simulated Metrics to Freeform (this is important):

5) Size your content UIView
to your desired height (obviously important too):

Apple article explaining UIScrollView and AutoLayouts:
https://developer.apple.com/library/content/technotes/tn2154/_index.html