2013-02-11 222 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]];