Chapter 13. Page Flicking

One of the more aesthetically pleasing UI features of the iPhone is the ability to thumb through a series of pages, flicking the previous page to the left or right to bring up the next page. In Chapter 10, you learned about page controls and scroll views. Put together, these classes can provide the same style page flipping as seen on the iPhone’s home screen, or when flipping through photos.

This chapter provides a recipe for a fully functional class named PageScrollView, which does the heavy lifting involved in setting up such a display. At the heart of its plumbing, the PageScrollView class creates a scrolling content area having a width of all the pages you’d like to display put together. For example, the iPhone’s screen is 320 pixels wide. To display 10 pages, you’d create a UIScrollView with a content size of 3,200 pixels. Each page is then “glued” onto a different portion of the scroll view. Using the UIScrollView class’s pagingEnabled property, each section of the UIScrollView is split up evenly to create screen-sized “pages” that snap to a single position, just like the springboard. As the user scrolls, the scroll view automatically snaps to the closest page, depending on where he scrolled. The user can also tap anywhere on the page control at the bottom of the screen to flip pages. The page number being displayed is easily calculated by taking the width of the entire scrolling content size and dividing by the width of a single page.

For applications ...

Get iPhone SDK Application Development 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.