2016-11-23 10 views
0

UIPageViewController을 내 응용 프로그램에 구현했습니다.viewControllerBeforeViewController는 UIPageViewController에서 매번 호출되지 않습니다.

특정 인덱스에 대한보기를 반환하는 두 개의 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]; 

}