You've already forked FinalYearProject-MyMind
mirror of
https://github.com/MrLyallCSIT/FinalYearProject-MyMind.git
synced 2026-01-18 07:09:41 +00:00
83 lines
2.4 KiB
Swift
Executable File
83 lines
2.4 KiB
Swift
Executable File
//
|
|
// OnboardingPager.swift
|
|
// BCU Mind
|
|
//
|
|
// Created by Alexander Davis on 24/03/2017.
|
|
// Copyright © 2017 Alexander Davis. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class OnboardingPager : UIPageViewController {
|
|
|
|
override var preferredStatusBarStyle: UIStatusBarStyle {
|
|
return .lightContent
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
// Set the dataSource and delegate in code.
|
|
// I can't figure out how to do this in the Storyboard!
|
|
dataSource = self
|
|
delegate = self
|
|
// This is the starting point. Start with step zero.
|
|
setViewControllers([getStepZero()], direction: .forward, animated: false, completion: nil)
|
|
}
|
|
|
|
func getStepZero() -> StepZero {
|
|
return storyboard!.instantiateViewController(withIdentifier: "WelcomeScreenOne") as! StepZero
|
|
}
|
|
|
|
func getStepOne() -> StepOne {
|
|
return storyboard!.instantiateViewController(withIdentifier: "WelcomeScreenTwo") as! StepOne
|
|
}
|
|
|
|
func getStepTwo() -> StepTwo {
|
|
return storyboard!.instantiateViewController(withIdentifier: "WelcomeScreenThree") as! StepTwo
|
|
}
|
|
|
|
}
|
|
|
|
// MARK: - UIPageViewControllerDataSource methods
|
|
|
|
extension OnboardingPager : UIPageViewControllerDataSource {
|
|
|
|
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
|
|
if viewController.isKind(of: StepTwo.self) {
|
|
// 2 -> 1
|
|
return getStepOne()
|
|
} else if viewController.isKind(of: StepOne.self) {
|
|
// 1 -> 0
|
|
return getStepZero()
|
|
} else {
|
|
// 0 -> end of the road
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
|
|
if viewController.isKind(of: StepZero.self) {
|
|
// 0 -> 1
|
|
return getStepOne()
|
|
} else if viewController.isKind(of: StepOne.self) {
|
|
// 1 -> 2
|
|
return getStepTwo()
|
|
} else {
|
|
// 2 -> end of the road
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
// This only gets called once, when setViewControllers is called
|
|
func presentationIndex(for pageViewController: UIPageViewController) -> Int {
|
|
return 0
|
|
}
|
|
|
|
}
|
|
|
|
// MARK: - UIPageViewControllerDelegate methods
|
|
|
|
extension OnboardingPager : UIPageViewControllerDelegate {
|
|
|
|
}
|