每次在UIPageViewController中都不调用viewControllerBeforeViewController

时间:2016-11-23 06:55:30

标签: ios objective-c ios9 uipageviewcontroller uipagecontrol

我已在我的应用程序中实现了UIPageViewController

我已经实现了两个delegate方法,这些方法返回特定索引的视图。

此外,我正在从这些方法中检测前后方向。

  - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController  viewControllerBeforeViewController:(UIViewController *)viewController

  - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController

现在的问题是,有时viewControllerBeforeViewControllerviewControllerAfterViewController没有被调用,但分页工作正常。由于这个原因,我无法找到方向。

我也实现了自定义页面控制,我从这些方法中找到了当前的索引。当这些方法没有调用我的PageControl时,现在正在查找。

我无法找到任何解决方案。

1 个答案:

答案 0 :(得分:3)

我可以设法在此委托方法中找到索引。

每当我为ViewController返回PageController时,我都会在相应的视图控制器中设置其Index值并将此Index设置为:

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

    UIViewController * viewController = [pageViewController.viewControllers lastObject];

    CustomViewController *childCtrlr = (CustomViewController*)viewController;

    NSUInteger currentPageIndex = [(CustomViewController *)viewController index];

}