UIPageViewController 的 UIPageControl 在滚动到下一个视图控制器时有时不会更新
Posted
技术标签:
【中文标题】UIPageViewController 的 UIPageControl 在滚动到下一个视图控制器时有时不会更新【英文标题】:UIPageControl of a UIPageViewController sometimes does not get updated when it is scrolled to next view controller 【发布时间】:2019-05-15 04:29:37 【问题描述】:我用transitionStyle
= .scroll
创建了UIPageViewController
的子类,并实现了负责显示UIPageControl
的UIPageViewControllerDataSource
方法,如下所示-
func presentationCount(for pageViewController: UIPageViewController) -> Int
return 3
func presentationIndex(for pageViewController: UIPageViewController) -> Int
return 0
页面视图控制器具有.custom
中的modalPresentationStyle
,这样当视图控制器呈现时它不会占据全屏。
我观察到有时当我滚动页面视图控制器以显示下一个子视图控制器时,页面指示器没有更新。下面的 GIF 显示了问题
谁能指出如何解决这个问题?
【问题讨论】:
【参考方案1】:请使用以下方法进行页面更改确认。
func pageViewController(_ pageViewController: UIPageViewController,
didFinishAnimating finished: Bool, previousViewControllers:
[UIViewController], transitionCompleted completed: Bool)
pageControl.currentPage = arrViewController.index(of: pageContentViewController) ?? 0
【讨论】:
以上是关于UIPageViewController 的 UIPageControl 在滚动到下一个视图控制器时有时不会更新的主要内容,如果未能解决你的问题,请参考以下文章
Swift pagecontroller 故事板 UI 对象与 UIPageviewcontroller 连接
UIPageViewController -presentationCount 不触发
如何更改 UIPageViewController 中的按钮名称
iOS6 自动旋转 - UIPageViewController