「Ios/swift/UIPageViewController」の版間の差分
提供: 初心者エンジニアの簡易メモ
(同じ利用者による、間の3版が非表示) | |||
行18: | 行18: | ||
override func didReceiveMemoryWarning() { | override func didReceiveMemoryWarning() { | ||
super.didReceiveMemoryWarning() | super.didReceiveMemoryWarning() | ||
− | |||
− | |||
− | |||
} | } | ||
private func getFirstViewController() -> UIViewController { | private func getFirstViewController() -> UIViewController { | ||
return storyboard!.instantiateViewControllerWithIdentifier("FirstViewControllerId") | return storyboard!.instantiateViewControllerWithIdentifier("FirstViewControllerId") | ||
+ | } | ||
+ | private func getSecondViewController() -> UIViewController { | ||
+ | return storyboard!.instantiateViewControllerWithIdentifier("SecondViewControllerId") | ||
} | } | ||
private func getThirdViewController() -> UIViewController { | private func getThirdViewController() -> UIViewController { | ||
return storyboard!.instantiateViewControllerWithIdentifier("ThirdViewControllerId") | return storyboard!.instantiateViewControllerWithIdentifier("ThirdViewControllerId") | ||
} | } | ||
− | // | + | // 前へ |
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { | func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { | ||
if viewController.isKindOfClass(ThirdViewController) { | if viewController.isKindOfClass(ThirdViewController) { | ||
行38: | 行38: | ||
} | } | ||
} | } | ||
− | // | + | // 次へ |
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { | func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { | ||
if viewController.isKindOfClass(ViewController) { | if viewController.isKindOfClass(ViewController) { | ||
行49: | 行49: | ||
} | } | ||
} | } | ||
+ | |||
+ | 参考:http://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be | ||
==ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法== | ==ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法== | ||
− | storyboardのPageViewControllerのプロパティのtransition_styleを" | + | storyboardのPageViewControllerのプロパティのtransition_styleを"Page Curl"から"Scroll"に |
− | + | 参考:http://stackoverflow.com/questions/24577403/programmatically-set-uipageviewcontroller-transition-style-to-scroll | |
− | + |
2016年6月28日 (火) 00:14時点における最新版
UIPageViewControllerとは
横スワイプによるページ送り
サンプル
- 初期のViewControllerとは別に2つUIViewControllerをstoryboardに追加する
- それぞれクラス名をViewControllerとSecondViewControllerとThirdControllerとする
- それぞれのStroyboardIdをFirstViewControllerIdと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 getFirstViewController() -> UIViewController { return storyboard!.instantiateViewControllerWithIdentifier("FirstViewControllerId") } private func getSecondViewController() -> UIViewController { return storyboard!.instantiateViewControllerWithIdentifier("SecondViewControllerId") } 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 } } }
参考:http://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be
ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法
storyboardのPageViewControllerのプロパティのtransition_styleを"Page Curl"から"Scroll"に