Search code examples
iosswiftuipageviewcontroller

Swift, How to obtain the current display controller in UIPageViewController


UIPageViewControllerDelegate

func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
    let viewer = pageViewController.childViewControllers[0] as! KKPhotoViewerController //So I got controller is a constant
    print(pageViewController.childViewControllers)
    print(previousViewControllers)
    photos.selectedIndex = viewer.photoIndex
    currentViewer = viewer
}

Solution

  • Try this:

    if self.pageViewController?.viewControllers?.count > 0 {
       let currentController = self.pageViewController?.viewControllers![0]
    }