PageViewController showing a black screen

*爱你&永不变心* 提交于 2019-12-07 17:31:50

问题


In storyboard I have a UIPageViewController and this is my code

class ReservedTimesViewController: UIPageViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

extension ReservedTimesViewController: UIPageViewControllerDataSource {
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
        let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ReservedTimesTableViewController")
        print(controller)
   return controller
    }

    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
        let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ReservedTimesTableViewController")
        print(controller)
        return controller
    }

and this is my ReservedTimesTableViewController in story board

but I'm getting a black screen. Why it's not working correct?


回答1:


On loading your controller you have to set your initial page by using this code

override func viewDidLoad() {
    super.viewDidLoad()
    dataSource = self;
    self.setViewControllers([getViewControllerAtIndex(index: 0)] as [UIViewController], direction: UIPageViewControllerNavigationDirection.forward, animated: false, completion: nil)
}

func getViewControllerAtIndex(index: Int) -> ReservedTimesTableViewController
{
    // Create a new view controller and pass suitable data.
    let reservedTimesTableViewController = self.storyboard?.instantiateViewController(withIdentifier: "ReservedTimesTableViewController") as! ReservedTimesTableViewController
    return reservedTimesTableViewController
}

After when you try to scroll your page then the datasource methods will do their work.



来源:https://stackoverflow.com/questions/42764230/pageviewcontroller-showing-a-black-screen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!