2016-02-20 181 views
0

我正在使用UIPageViewController在五頁非常相似的頁面之間滾動。我正在使用應用程序委託在任何時候調用applicationWillEnterForeground來刷新視圖。 (它通過在我的PageViewController中調用viewDidLoad來實現。)UIPageViewController緩存問題

我將PageViewController的當前索引存儲在NSUserDefault變量中。但這是問題。顯然,UIPageViewController使用緩存,這意味着它並不總是調用它的方法,這意味着我存儲的索引號很少是正確的。

結果是,當我關閉應用程序並重新打開它時,它將刷新視圖並顯示與存儲的最後一個索引相關的任何頁面 - 通常不是當前索引。

我的問題是,當我的應用程序重新進入前臺時刷新當前視圖的最佳方式是什麼?

回答

0

解決方法:使用委託方法: - pageViewController:willTransitionToViewControllers:

獲取當前索引那樣簡單

let index = (pendingViewControllers[0] as! ViewController).index