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

previousViewControllerscount は常に 1 なので仕方がないか、何かが足りないのかもしれません。

4

1 に答える 1

1

スパインの位置が にある場合、 は 2 つのインスタンスをUIPageViewController表示できます。それ以外の場合は 1 つを表示します。UIViewControllerUIPageViewControllerSpineLocationMid

現在ビューの外に出ているView Controllerへの参照を取得するにはpreviousViewControllers、デリゲートのパラメーターを介して取得できます。以前に画面に表示されていたView Controllerへの参照が含まれます。

たとえば。ページビューコントローラーのデータソースメソッドで渡される MyContentViewController クラスがある場合、次のようにデリゲートで画面外に出ているビューコントローラーへの参照を取得できます。

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

また、現在のビュー コントローラーへの参照を取得するには、のviewControllersプロパティを使用しますUIPageViewController

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