This code works with Swift and Storyboarding (in the view controller):
import UIKit class ViewController : UIViewController, UIPageViewControllerDataSource { var myViewControllers = Array(count: 3, repeatedValue:UIViewController()) override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { let pvc = segue.destinationViewController as UIPageViewController pvc.dataSource = self let storyboard = UIStoryboard(name: "Main", bundle: nil); var vc0 = storyboard.instantiateViewControllerWithIdentifier("shopID") as UIViewController var vc1 = storyboard.instantiateViewControllerWithIdentifier("startID") as UIViewController var vc2 = storyboard.instantiateViewControllerWithIdentifier("avatarID") as UIViewController self.myViewControllers = [vc0, vc1, vc2] pvc.setViewControllers([myViewControllers[1]], direction:.Forward, animated:false, completion:nil) println("Loaded") } func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { var currentIndex = find(self.myViewControllers, viewController)!+1 if currentIndex >= self.myViewControllers.count { return nil } return self.myViewControllers[currentIndex] } func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { var currentIndex = find(self.myViewControllers, viewController)!-1 if currentIndex < 0 { return nil } return self.myViewControllers[currentIndex] } }
Lilk3ks
source share