UIPageViewControllerというクラスを使うと本をめくるようなUIを実現できます。
使い方
UIPageViewControllerは普通のUIViewControllerのように初期化して使います。
let pageViewController = UIPageViewController(transitionStyle: .PageCurl, navigationOrientation: .Horizontal, options: nil) let startingViewController = UIViewController() let viewControllers = [startingViewController] pageViewController.setViewControllers(viewControllers, direction: .Forward, animated: false, completion: {done in }) pageViewController.delegate = self pageViewController.dataSource = self
初期化時のtransitionStyleでScrollを選択すれば、ページめくりは本のようなUIではなく普通のスクロールにできます。
let pageViewController = UIPageViewController(transitionStyle: .PageCurl, navigationOrientation: .Horizontal, options: nil)
Datasourceで必須なメソッドは下の2つです。
ここでnilを返せばそのページへは遷移できなくなります。
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { // ... } func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { // ... }