Chapter 20. Scroll Views
A scroll view (UIScrollView) is a view whose contents are larger than its bounds. To reveal a desired area, the user can scroll the contents by dragging or flicking, or you can reposition the contents in code.
Think of the scroll view as consisting of two views:
- The scroll view itself
- The scroll view itself acts like a window (a window in a house, not a UIWindow). The scroll view’s bounds size is the size of that window.
- The content view
- The content view is the scene viewed through the window (the scroll view). The content view is presumably larger than the scroll view, because otherwise there would be nothing to scroll. By sliding the content view, a desired portion of it can be positioned within the scroll view and thus made visible.
Although it is useful to think of the scroll view in this way, the truth is far simpler. The scroll view isn’t really specially window-like; it’s just a view (whose
clipsToBounds is usually YES). And the content view isn’t really a view; it’s just a set of parameters for positioning the scroll view’s subviews. When the scroll view scrolls, what’s really changing is its bounds origin; the subviews are positioned with respect to the bounds origin, so they move with it. (See Chapter 14.)
However, a scroll view does bring to the table some nontrivial additional abilities:
- It knows how to shift its bounds origin in response to the user’s gestures.
- It provides scroll indicators whose size and position give the user a clue as ...