滚动到下一个视图控制器时,UIPageViewController的UIPageControl有时不会更新

时间:2019-05-15 04:29:38

标签: ios swift uipageviewcontroller

我用UIPageViewController = transitionStyle创建了.scroll的子类,并实现了负责UIPageViewControllerDataSource显示的UIPageControl方法,如下所示:

func presentationCount(for pageViewController: UIPageViewController) -> Int {
    return 3
}

func presentationIndex(for pageViewController: UIPageViewController) -> Int {
    return 0
}

页面视图控制器的modalPresentationStyle中有.custom,因此显示视图控制器时不会占据全屏。

我有时观察到,当我滚动页面视图控制器以显示下一个子视图控制器时,页面指示器未更新。以下GIF显示了问题

有人可以指出如何解决此问题吗?

1 个答案:

答案 0 :(得分:1)

请使用以下方法进行页面更改确认。

  func pageViewController(_ pageViewController: UIPageViewController, 
 didFinishAnimating finished: Bool, previousViewControllers: 
 [UIViewController], transitionCompleted completed: Bool) {

    pageControl.currentPage = arrViewController.index(of: pageContentViewController) ?? 0

}