Swift: UIPageViewController Charge des vues séparées

Je suis en suivant ce tutoriel: http://swiftiostutorials.com/ios-tutorial-using-uipageviewcontroller-create-content-slider-objective-cswift/ pour créer une application qui montre plusieurs curseurs.

Même si j'ai eu ce tutoriel pour le travail, Cet exemple, seules les modifications d'une image en fonction de celles qui sont stockées dans un tableau.

Comment puis-je obtenir pour charger ViewControllers au lieu d'images

J'ai 4 ViewControllers:

  • ViewController1
  • ViewController2
  • ViewController3
  • ViewController4

Je voudrais glisser un pour montrer ViewController1 et slide2 pour charger ViewController2 etc....

Ici est mon principal ViewController:

 import UIKit
class ViewController: UIViewController, UIPageViewControllerDataSource {
//MARK: - Variables
private var pageViewController: UIPageViewController?
//Initialize it right away here
private let contentImages = ["nature_pic_1.png",
"nature_pic_2.png",
"nature_pic_3.png",
"nature_pic_4.png"];
//MARK: - View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
setupPageControl()
}
private func createPageViewController() {
let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageController") as UIPageViewController
pageController.dataSource = self
if contentImages.count > 0 {
let firstController = getItemController(0)!
let startingViewControllers: NSArray = [firstController]
pageController.setViewControllers(startingViewControllers, direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)
}
pageViewController = pageController
addChildViewController(pageViewController!)
self.view.addSubview(pageViewController!.view)
pageViewController!.didMoveToParentViewController(self)
}
private func setupPageControl() {
let appearance = UIPageControl.appearance()
appearance.pageIndicatorTintColor = UIColor.grayColor()
appearance.currentPageIndicatorTintColor = UIColor.whiteColor()
appearance.backgroundColor = UIColor.darkGrayColor()
}
//MARK: - UIPageViewControllerDataSource

func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
let itemController = viewController as PageItemController
if itemController.itemIndex > 0 {
return getItemController(itemController.itemIndex-1)
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
let itemController = viewController as PageItemController
if itemController.itemIndex+1 < contentImages.count {
return getItemController(itemController.itemIndex+1)
}
return nil
}
private func getItemController(itemIndex: Int) -> PageItemController? {
if itemIndex < contentImages.count {
let pageItemController = self.storyboard!.instantiateViewControllerWithIdentifier("ItemController") as PageItemController
pageItemController.itemIndex = itemIndex
pageItemController.imageName = contentImages[itemIndex]
return pageItemController
}
return nil
}
//MARK: - Page Indicator

func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return contentImages.count
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}

et voici mon PageItemController:

import UIKit
class PageItemController: UIViewController {
//MARK: - Variables
var itemIndex: Int = 0
var imageName: String = "" {
didSet {
if let imageView = contentImageView {
imageView.image = UIImage(named: imageName)
}
}
}
@IBOutlet var contentImageView: UIImageView?
//MARK: - View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
contentImageView!.image = UIImage(named: imageName)
}
}

Je suis nouveau sur Swift/Développement iOS et vraiment essayer d'obtenir par le développement. Je vous remercie d'avance pour vos réponses 🙂

EDIT: Pour Rendre la Question Claire

Comment puis-je faire pour qu'il y est un tableau d'affichage des contrôleurs qui correspondent le faites glisser vers la gauche/droite de la UIPageViewController?

Alors, quand je balayez vers la gauche sur ViewController1 - le UIViewController2 est chargé et à l'inverse pour balayez vers la droite.

UIPageViewController t charge les contrôleurs. Vous chargement de la vue des contrôleurs. Quelle est la question?
chacun des ViewControllers que j'ai précisé ci-dessus ont un contenu comme les formes/graphiques/images etc... Comment puis-je spécifier lequel spectacle basé sur le parchemin. Au moment de sa seule boucle dans un tableau d'images.
Je ne sais pas comment car je ne sais pas ce que vous voulez faire. Une seule chose compte: à chaque fois viewControllerBeforeViewController ou viewControllerAfterViewController est appelé, à vous de décider, à droite, puis et là, ce que la vue du contrôleur de charge. Afin de décider!
C'est une absurdité totale. Vous pouvez lire l'Objective-C parfaitement bien. La langue n'a rien à voir avec cela.
Mais vous pouvez comprendre le concepts quelle que soit la langue de la discussion. La lecture et l'écriture sont deux choses différentes. La pensée et l'écriture sont deux choses différentes. Lire. Pense. Alors écrire (votre code Swift). Personne ne va l'écrire pour vous. Ne cherchez pas de code à copier. Recherchez connaissances.

OriginalL'auteur DannieCoderBoi | 2015-02-09