I found a solution to this, at least in my case. I just increased the scroll size with an extra field, and then slightly formatted the scroll.
CGFloat scrollViewHeight = 300; CGFloat preferredWidthOfContent = 500; CGFloat gutterMargin = self.bounds.size.width / 2; scrollView.frame = CGRectMake(-1 * gutterMargin, 0, self.bounds.size.width, scrollViewHeight) scrollView.contentSize = CGSizeMake(preferredWidthOfContent + 2 * gutterMargin, scrollViewHeight); contentView.frame = CGRectMake(0, 0, preferredWidthOfContent + 2 * gutterMargin, scrollViewHeight);
The content presentation should know the width of the gutter field and then based on this draw the actual content in the right place. When the scrollView bounces, then the rest of the content is actually displayed.
This trick works because scrolling is viewed from the screen. If you want to use the same scroll list trick that didn't touch the edges of the screen, you just need to place a different view on top of the top of the scroll to hide the extra space.
source share