2013-02-11 180 views
3

我想使用pageViewController的當前索引設置滑塊的值。 我的想法是用這個方法,但我不知道我是如何得到該指數...PageViewController當前索引

-(void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed 
{ 

    if(completed) 
    { 

     //self.slider.value = THE INDEX; 
    } 
} 
+0

你的意思pageviewController.currentPage? – 2013-02-11 14:49:35

回答

4

我想你將不得不執行你的數據源, 將返回您的視圖控制器的指數自定義的方法。你很可能在你的數據源中有ViewController數組。像下面這樣一個簡單的調用應該做的:

[pageViewController.datasource indexOfViewControler:[pageViewController.viewControllers]objectAtIndex:0]]; // index of viewcontroller is methond you need to implement on your datascource 
+1

不幸的是,在手勢過程中,viewControllers方法依賴於你,並返回姿勢開始的頁面,即使它不再可見之後。所以,如果你正在做某些事情,比如試圖去掉頁面視圖,你必須認識到視圖的滾動位置跳過的次數多於......比如說單個事件中屏幕寬度的90%,並且增量你的頁數.... Ick。 (輕鬆實現這一點:使用兩個手指從第一個視圖之外的視圖中的第二個頁面移動頁面。) – dgatwood 2015-04-15 21:29:02

-1

你必須實現爲獲得指數的方法。你可以簡單地通過在NSArray中添加你的viewController來做到這一點。

NSArray * viewControllers = [NSArray arrayWithObjects:firstViewController,secondViewController, nil]; 

&然後得到iindex這樣的:

self.slider.value=[viewControllers indexOfObject:[pageViewControlle.viewController]];