2016-11-23 15 views
0

私のアプリケーションにUIPageViewControllerを実装しました。viewControllerBeforeViewControllerはUIPageViewControllerで毎回呼び出されません

私は、特定のインデックスのビューを返す2つのdelegateメソッドを実装しました。

また、私はこれらの方法から順方向および逆方向を検出しています。

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

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

今の問題は、時にはviewControllerBeforeViewControllerviewControllerAfterViewControllerが呼び出されていないということですが、改ページが正常に動作します。このため私は方向を見つけることができません。

また、私はカスタムページコントロールを実装しており、これらのメソッドから現在のインデックスを検索しています。これらのメソッドが、私のPageControlが呼び出されていないときには、検索が動作しています。

解決方法が見つかりません。

+0

あなたが解決策を見つけることができますか?同じ問題に直面している。 – iAmd

+0

@iAmdはい...私はそれを修正しました。あなたはどんな問題に直面していますか? – Dalvik

+0

以下の答えを見ましたが、viewControllerAfterViewControllerの問題がまだ解決されていないかどうかはまだ解決しているかどうかはわかりません。それは? – iAmd

答えて

3

このデリゲートメソッドでインデックスを検索する方法はいくつかあります。

私はそれぞれのビューコントローラにそのIndex値を設定して、このIndexを検索していますPageControllerためViewControllerを返していますたび:

- (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]; 

} 
関連する問題