2017-01-18 8 views
0

当初私はこれはかなり簡単なことだと思ったが、そうではないように見えた。 UIPageViewControllerでページフリップが発生するたびに、サーバーに簡単なGETリクエストを行う必要があります。私のような方法で、サーバーの呼び出しを行う方法を入れて試してみました:すべてのページフリップの後にメソッド呼び出しを呼び出すUIPageViewController

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

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

- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index 

しかしUIPageViewControllerは私が推測するviewcontrollersのキャッシュを維持しようとして、これらの方法のどれもがすべてのページフリップの後、一貫呼ばなかっます。この問題の回避策はありますか?

答えて

4

あなたは

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed 
{ 
    if (finished) { 
     // in case you are sure that you shows only YourViewController 
     YourViewController *vc = (YourViewController *)pageViewController.viewControllers.lastObject; 
     // decide what is the index of the controller based on your own logic and do what you want with it 
    } 
} 

はそれが役に立てば幸いUIPageViewControllerDelegateメソッドを実装する必要があります!

+1

もちろん、このメソッドを実装するオブジェクトとしてデリゲートを設定してください。 – danh

+0

上記の方法で反転されたページのインデックスを使用することはできますか? –

+0

表示されたUIViewControllerのインデックスを受け取る方法を追加しました。 – Sander

関連する問題