facebook twitter hatena line email

「Ios/swift/UIPageViewController」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行49: 行49:
 
     }
 
     }
 
  }
 
  }
 +
 +
参考:http://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be
  
 
==ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法==
 
==ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法==
 
storyboardのPageViewControllerのプロパティのtransition_styleを"Page Curl"から"Scroll"に
 
storyboardのPageViewControllerのプロパティのtransition_styleを"Page Curl"から"Scroll"に
  
==参考==
+
参考:http://stackoverflow.com/questions/24577403/programmatically-set-uipageviewcontroller-transition-style-to-scroll
http://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be
+

2016年6月27日 (月) 07:35時点における版

UIPageViewControllerとは

横スワイプによるページ送り

サンプル

  1. 初期のViewControllerとは別に2つUIViewControllerをstoryboardに追加する
  2. それぞれクラス名をViewControllerとSecondViewControllerとThirdControllerとする
  3. それぞれのStroyboardIdをFirstViewControllerIdとSecondViewControllerIdとThirdViewControllerIdとする
  4. UIPageViewControllerをstoryboardに追加する
  5. 追加したUIPageViewControllerのクラス名をPageViewControllerとする
  6. 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
       }
   }
}

参考:http://qiita.com/Takeshi_Akutsu/items/dbf54df8e8a50e8ed5be

ページ送りのアニメーションスタイルを"紙めくり"から"スクロール"に変更する方法

storyboardのPageViewControllerのプロパティのtransition_styleを"Page Curl"から"Scroll"に

参考:http://stackoverflow.com/questions/24577403/programmatically-set-uipageviewcontroller-transition-style-to-scroll