My UIPageViewController appears as a black screen when run.
It's the root view controller set in app delegage:
window = UIWindow()
let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
window?.rootViewController = mainPageViewController
This is my code for MainPageViewController:
class MainPageViewController: UIPageViewController, UIPageViewControllerDataSource
{
override func viewDidLoad()
{
super.viewDidLoad()
dataSource = self
let profileController = ProfileController()
let viewControllers = [profileController]
self.setViewControllers(viewControllers, direction: .forward, animated: true, completion: nil)
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
{
return nil
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController?
{
return nil
}
}
The profilecontroller which i'm trying to set as the initial page is a normal UIViewController.
I've have tried a lot of stuff, but it always just shows a black screen. Any idea on what I'm doing wrong?
Your PageViewController is perfectly fine. Your process of setting the rootViewController however misses following:
window = UIWindow()
let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
window?.rootViewController = mainPageViewController
// This line will make it visible
window?.makeKeyAndVisible()