Files
libr-ios/librx/PageViewController.swift
2015-11-29 01:07:50 +08:00

72 lines
2.5 KiB
Swift

//
// PageViewController.swift
// librx
//
// Created by Yunlong Zheng on 11/26/15.
// Copyright © 2015 librx. All rights reserved.
//
import UIKit
class PageViewController: UIPageViewController ,UIPageViewControllerDataSource{
var pageHeadings = ["遇见", "发现", "价值"]
var pageImages = ["Thinking", "FireElement", "StarHalfEmpty"]
var pageSubHeadings = ["师,三人行必有我师",
"热度决定高度",
"不只是旁观,证明自己"]
override func viewDidLoad() {
super.viewDidLoad()
// Set the data source to itself
dataSource = self
// Create the first walkthrough screen
if let startingViewController = self.viewControllerAtIndex(0) {
setViewControllers([startingViewController], direction: .Forward, animated: true,
completion: nil)
}
}
func pageViewController(pageViewController: UIPageViewController,
viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
var index = (viewController as! PageContentViewController).index
index++
return self.viewControllerAtIndex(index)
}
func pageViewController(pageViewController: UIPageViewController,
viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
var index = (viewController as! PageContentViewController).index
index--
return self.viewControllerAtIndex(index)
}
func viewControllerAtIndex(index: Int) -> PageContentViewController? {
if index == NSNotFound || index < 0 || index >= self.pageHeadings.count {
return nil
}
// Create a new view controller and pass suitable data.
if let pageContentViewController =
storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as?
PageContentViewController {
pageContentViewController.imageFile = pageImages[index]
pageContentViewController.heading = pageHeadings[index]
pageContentViewController.subHeading = pageSubHeadings[index]
pageContentViewController.index = index
return pageContentViewController
}
return nil
}
func forward(index: Int) {
if let nextViewController = self.viewControllerAtIndex(index + 1) {
setViewControllers([nextViewController], direction: .Forward, animated: true,
completion: nil)
}
}
}