UIPageViewController缓存问题

时间:2016-02-20 18:58:01

标签: ios swift uipageviewcontroller

我正在使用UIPageViewController在五页非常相似的页面之间滚动。我正在使用app delegate在调用applicationWillEnterForeground时刷新视图。 (它通过在我的PageViewController中调用viewDidLoad来实现。)

我将我的PageViewController的当前索引存储在NSUserDefault变量中。但这是问题所在。显然,UIPageViewController使用缓存,这意味着它并不总是调用它的方法,这意味着我存储的索引号很少是正确的。

结果是,当我关闭应用程序并重新打开它时,它将刷新视图并显示与我存储的最后一个索引相关联的任何页面 - 这通常不是当前索引。

我的问题是,当我的应用重新进入前景时,刷新当前视图的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

解决方案:使用委托方法: - pageViewController:willTransitionToViewControllers:

获取当前索引就像

一样简单
let index = (pendingViewControllers[0] as! ViewController).index