Autolayout is activated (and that's a good thing) in your storyboard.
The scrollable size of a UIScrollView is computed based on the constraints of its subviews.
So you need to add "top, bottom, leading, trailing space to superview" on the UIImageView inside the UIScrollView. They can be all set to 0.
Now if you don't add any constraint to the UIImageView then its intrinsicContentSize size will be used.
Your constraints should look like this:
Note that you were also missing constraints on the content view of your cell.
When you're done with the constraints, remove all the setContentSize: calls from your code.