我正在使用UIPageViewController在五页非常相似的页面之间滚动。我正在使用app delegate在调用applicationWillEnterForeground时刷新视图。 (它通过在我的PageViewController中调用viewDidLoad来实现。)
我将我的PageViewController的当前索引存储在NSUserDefault变量中。但这是问题所在。显然,UIPageViewController使用缓存,这意味着它并不总是调用它的方法,这意味着我存储的索引号很少是正确的。
结果是,当我关闭应用程序并重新打开它时,它将刷新视图并显示与我存储的最后一个索引相关联的任何页面 - 这通常不是当前索引。
我的问题是,当我的应用重新进入前景时,刷新当前视图的最佳方法是什么?
答案 0 :(得分:0)
解决方案:使用委托方法: - pageViewController:willTransitionToViewControllers:
获取当前索引就像
一样简单let index = (pendingViewControllers[0] as! ViewController).index