【问题标题】:viewControllerBeforeViewController is not called every time in UIPageViewController在 UIPageViewController 中每次都不会调用 viewControllerBeforeViewController
【发布时间】:2016-11-23 06:55:29
【问题描述】:

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

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

而且我正在从这些方法中检测向前和向后的方向。

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

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

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

我还实现了自定义页面控件,并且我正在从这些方法中找到当前索引。当这些方法未调用时,我的 PageControl 现在正在工作查找。

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

【问题讨论】:

  • 你能找到解决办法吗?面临同样的问题。
  • @iAmd 是的...我解决了这个问题。你面临什么问题?
  • 在下面看到了您的答案,但不确定它是否仍能解决 viewControllerAfterViewController 有时被调用有时不被调用的问题。是吗?
  • @iAmd 这个方法没有任何关系。你想达到什么,请让我知道,然后我才能说些什么。
  • @iAmd 对我来说 viewControllerAfterViewController 方法有问题,因为我需要找到索引。而且我不是每次都被叫到。所以使用下面的方法解决了。你想达到什么目的?

标签: ios objective-c ios9 uipageviewcontroller uipagecontrol


【解决方案1】:

我如何设法在这个委托方法中找到索引。

每当我为PageController 返回ViewController 时,我都会在各自的视图控制器中设置它的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];

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2018-06-03
    • 2020-10-25
    • 2015-10-05
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    相关资源
    最近更新 更多