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.

A scroll view isn’t magic. It’s really quite an ordinary UIView, taking advantage of ordinary UIView features (Chapter 14). The content is simply 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. The scroll view’s clipsToBounds is usually YES, so any content positioned within the scroll view’s bounds width and height is visible and any content positioned outside them is not.

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 to the content’s size and position.
  • It can optionally enforce paging, whereby the user can view only integral portions of the content.
  • It can support zooming, so that the user can resize the apparent content by pinching.

Get Programming iOS 6, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.