[当UIPageViewController使用viewControllerBeforeViewController和viewControllerAfterViewController方法调用数据源时,它将获取将在用户再次滑动时显示的视图控制器。是否存在可写属性,可在其中保留此数据直到需要使用它?我问的原因是我希望用户能够向前或向后滑动,或者只需轻按以前进到下一张幻灯片。但是,如果点击以从第一张幻灯片前进到第二张幻灯片(使用setViewControllers方法前进),则无法向后滑动。没有要返回的后台控制器。这仅影响第二张幻灯片。因此,我需要能够以编程方式设置先前的控制器。
任何帮助将不胜感激。
谢谢。
我有类似的问题,发现UIPageViewController
将其缓存的View Controller页面存储在childViewControllers
数组中。
无法访问缓存的视图控制器。在实现数据源方法以启用滑动时,您可以保留一个指针:
– pageViewController:viewControllerBeforeViewController:
– pageViewController:viewControllerAfterViewController:
如Kelin的回答所述,子数组包含“已加载”的视图控制器。此信息也可以用于传播已加载的视图控制器之间的更改。 (一种常见的情况是结束刷新控件的刷新。)
在Swift中,您可以执行以下操作:
for vc in children {
if let tableVC = vc as? UITableViewController {
tableVC.refreshControl?.endRefreshing()
}
}
((self是UIPageViewController类型)