UIPageViewControllerDelegate - 将替换iOS 5的willTransitionToViewControllers

时间:2013-08-12 09:19:01

标签: ios delegates uipageviewcontroller

我正在使用

- (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计数总是一个,所以它没有帮助,或者可能是我遗漏了某些东西

1 个答案:

答案 0 :(得分:1)

UIPageViewController的脊椎位置位于UIViewController时,UIPageViewControllerSpineLocationMid可以显示两个previousViewControllers个实例,否则会显示一个MyContentViewController *myVC = (MyContentViewController*)[previousViewControllers objectAtIndex:0]; 个实例。

要获取对当前不在视图中的视图控制器的引用,可以通过其委托中的viewControllers参数获取它。它将包含以前在屏幕上显示的视图控制器的引用。

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

UIPageViewController

要获取对当前视图控制器的引用,请使用MyContentViewController *myVC = (MyContentViewController*)[[self.pageViewController viewControllers] objectAtIndex:0]; 的{​​{1}}属性。

{{1}}