UIPageViewController 显示黑屏

UIPageViewController showing black screen

我的 UIPageViewController 在 运行 时显示为黑屏。

它是应用委托中设置的根视图控制器:

    window = UIWindow()
    let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
    window?.rootViewController = mainPageViewController

这是我的 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
    }
}

我试图设置为初始页面的 profilecontroller 是一个普通的 UIViewController。

我已经尝试了很多东西,但它总是只显示黑屏。知道我做错了什么吗?

我不确定你的问题是什么,如果你的问题是 you don't know why your screen is black?,我认为你应该在 appDelegate 中设置:

window.backgroundColor = .white

并将此发送给您的控制器:

self.view.backgroundColor = .white

试试这个:-

self.window = UIWindow(frame:  UIScreen.main.bounds)
    let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
    window?.rootViewController = mainPageViewController
    self.window?.makeKeyAndVisible()

您的 PageViewController 非常好。但是,您设置 rootViewController 的过程遗漏了以下内容:

window = UIWindow()
let mainPageViewController = MainPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
window?.rootViewController = mainPageViewController
// This line will make it visible
window?.makeKeyAndVisible()