1

我在用着

- (void)pageViewController:(UIPageViewController *)pageViewController willTransitionToViewControllers:(NSArray *)pendingViewControllers

跟踪当前可见页面UIPageViewController。此方法可在 iOS 6 中使用,但我也需要在 iOS 5 中实现此功能,我该怎么做?我试过了

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

previousViewControllers计数始终是一,所以没有帮助,或者我可能遗漏了一些东西

4

1 回答 1

1

当它的脊椎位置位于 时,它UIPageViewController可以显示两个实例,否则显示一个。UIViewControllerUIPageViewControllerSpineLocationMid

要获得对当前离开视图的视图控制器的引用,您可以通过previousViewControllers其委托中的参数获得它。它将包含对先前显示在屏幕上的视图控制器的引用。

例如。如果您有在页面视图控制器的数据源方法中传递的 MyContentViewController 类,您可以获取对在委托中超出屏幕的视图控制器的引用:

MyContentViewController *myVC = (MyContentViewController*)[previousViewControllers objectAtIndex:0];

要获取对当前视图控制器的引用,请使用viewControllers.UIPageViewController

MyContentViewController *myVC = (MyContentViewController*)[[self.pageViewController viewControllers] objectAtIndex:0];
于 2013-08-12T09:41:58.483 回答