UIPageControllerDataSource
并简单使用
setViewControllers(_:direction:animated:completion:)
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
self.setViewControllers(self.viewControllerList, direction: .forward, animated: true, completion: nil)
}
https://developer.apple.com/documentation/uikit/uipageviewcontroller/1614087-setviewcontrollers
您可能需要更改
viewControllerList
到
[UIViewController]
这也意味着您可以完全删除您的方法:
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UINavigationController) -> UINavigationController?
和
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UINavigationController) -> UINavigationController? {
UIPageControllerDataSource
,您必须使方法签名完全符合要求:
func pageViewController(_ pageViewController: UIPageViewController,
viewControllerBefore viewController: UIViewController) -> UIViewController?
和
func pageViewController(_ pageViewController: UIPageViewController,
viewControllerAfter viewController: UIViewController) -> UIViewController?
幸运的是,由于UINavigationController是UIViewController的一个子类,其余代码应该可以工作。
视图控制器的顺序将与数组中从返回的顺序相同