Ios/swift/UIPageViewController
提供: 初心者エンジニアの簡易メモ
2016年6月27日 (月) 06:51時点におけるAdmin (トーク | 投稿記録)による版 (ページの作成:「==UIPageViewControllerとは== 横スワイプによるページ送り ==サンプル== #初期のViewControllerとは別に2つUIViewControllerをstoryboardに追加...」)
UIPageViewControllerとは
横スワイプによるページ送り
サンプル
- 初期のViewControllerとは別に2つUIViewControllerをstoryboardに追加する
- それぞれクラス名をViewControllerとSecondViewControllerとThirdControllerとする
- それぞれのStroyboardIdをFirstViewControllerとSecondViewControllerIdとThirdViewControllerIdとする
- UIPageViewControllerをstoryboardに追加する
- 追加したUIPageViewControllerのクラス名をPageViewControllerとする
- PageViewControllerを初期起動するように"Is InItial View Controller"をonにする
import UIKit class PageViewController: UIPageViewController, UIPageViewControllerDataSource { override func viewDidLoad() { super.viewDidLoad() self.setViewControllers([getFirstViewController()], direction: .Forward, animated: true, completion: nil) self.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } private func getSecondViewController() -> UIViewController { return storyboard!.instantiateViewControllerWithIdentifier("SecondViewControllerId") } private func getFirstViewController() -> UIViewController { return storyboard!.instantiateViewControllerWithIdentifier("FirstViewControllerId") } private func getThirdViewController() -> UIViewController { return storyboard!.instantiateViewControllerWithIdentifier("ThirdViewControllerId") } // 次へ func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { if viewController.isKindOfClass(ThirdViewController) { return getSecondViewController() } else if viewController.isKindOfClass(SecondViewController) { return getFirstViewController() } else { return nil } } // 前へ func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { if viewController.isKindOfClass(ViewController) { return getSecondViewController() } else if viewController.isKindOfClass(SecondViewController) { return getThirdViewController() } else { return nil } } }