Chapter 20. Scroll Views
A scroll view (UIScrollView) is a view whose content is larger than its bounds. To reveal a desired area, the user can scroll the content by dragging or flicking, or you can reposition the content in code.
Think of the scroll view as consisting of two things:
- 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
- The content is the scene viewed through the window (the scroll view). The content is presumably larger than the scroll view, because otherwise there would be nothing to scroll. By sliding the content, 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 isn’t really a separate thing; it’s just a set of parameters for positioning the scroll view’s subviews. When the scroll view scrolls, what’s really changing is the scroll view’s own 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 ...