-1

Page view controller not display after adding delegate and datasource. how to implement pageViewController Datasource and delegate

import UIKit

DataSource

class PageViewController: UIPageViewController ,UIPageViewControllerDataSource,UIPageViewControllerDelegate
{
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        let vc = storyboard?.instantiateViewController(withIdentifier: "vc") as! ViewController

        return vc

    }
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
        let vc = storyboard?.instantiateViewController(withIdentifier: "vc") as! ViewController

        return vc
    }
    func presentationCount(for pageViewController: UIPageViewController) -> Int {
        return 3
    }
    override func index(ofAccessibilityElement element: Any) -> Int {
        return 0
    }

setting a delegate and datasource in ViewDidLoad

    override func viewDidLoad() {
        super.viewDidLoad()
         dataSource=self
        delegate = self
        let vc = storyboard?.instantiateViewController(withIdentifier: "vc") as! ViewController
       self.setViewControllers([vc], direction: .forward, animated: true, completion: nil)

     }


    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}
Harshal Valanda
  • 5,331
  • 26
  • 63
CazzyTheCoder
  • 101
  • 1
  • 7

1 Answers1

2

Replacing

 override func index(ofAccessibilityElement element: Any) -> Int {
        return 0
    }

with

func presentationIndex(for pageViewController: UIPageViewController) -> Int {
        return 0
    }

did the work.

I was calling wrong method

NSNoob
  • 5,548
  • 6
  • 41
  • 54
CazzyTheCoder
  • 101
  • 1
  • 7