2013-02-16 73 views
3

當我使用類似於this answer的方法以編程方式翻轉UIPageViewController中的頁面時,不會更新頁指示器。滑動到下一個/上一個頁面會按預期更新頁面指示符。當程序打開頁面時,我需要做什麼來更新頁面指示符?即如何在編程式更改頁面後設置當前「索引」,以便頁面指示器知道哪個頁面指示器顯示爲活動?UIPageViewController以編程方式翻頁不會更新頁指示器

我的文檔中發現,以下陳述:

如果雙方的「支持頁面指示燈」的方法來實現,並在頁面視圖控制器的過渡風格UIPageViewControllerTransitionStyleScroll,頁面指示符可見。這兩個方法在調用setViewControllers:direction:animated:completion:方法後調用。 手勢驅動導航之後,不會調用這些方法。索引自動更新,視圖控制器的數量預計保持不變。

(見上文粗體字)

UIPageViewController documenatation

這是否意味着,如果你不使用手勢翻頁,那麼有沒有辦法更新UIPageIndicators?

在此先感謝您的幫助。

回答

0

這意味着你設置頁和第一頁一次,而且不能添加(或刪除)頁面到Page Control不會再次調用setViewControllers:direction:animated:completion:

它基本上是DataSource協議中定義的只寫屬性。

3

可以實現與正確的頁面索引以下數據源協議方法:

- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController 
{ 
NSInteger currentPageIndex=0; 
//find out actual page index of the current view controller 
return currentPageIndex; 
} 
相關問題