I think you are confused about contentSize
compared to swap size. The size of the search call is always the size of the scrollView borders and is not a property that you can otherwise set. That is, when scrolling left / right, it will be a "page" in the width of the scroll.
contentSize
is the size of the virtual bounding box of all the subzones in the scroll. This only serves to limit how the scroll scroll scrolls, and to swap how many times it will be on the page, i.e. contentSize.width / bounds.size.width
.
Assuming scrollView does not scale to / from (zoomScale = 1.0), you also need to position the size of your subzones on the virtual borders of the pages. They can handle the entire border of the page (the size must match scrollview.bounds) or be an insert. If you have content that is larger / smaller, you will have to decide whether you want to scale this content or to scale it up / down within the page.
source share