PageViewController 显示黑屏 [英] PageViewController showing a black screen

查看:32
本文介绍了PageViewController 显示黑屏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在故事板中,我有一个 UIPageViewController,这是我的代码

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
    }

这是我在故事板中的 ReservedTimesTableViewController

但是我得到了一个黑屏.为什么它不能正常工作?

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

推荐答案

在加载控制器时,您必须使用此代码设置初始页面

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.

这篇关于PageViewController 显示黑屏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆