2017-01-18 4 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