2016-11-23 4 views
0

Я применил UIPageViewController в своем приложении.viewControllerBeforeViewController не вызывается каждый раз в UIPageViewController

Я реализовал два метода delegate, который возвращает представление для конкретного Индекса.

И также я обнаруживаю прямое и обратное направление от этих методов.

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

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

Теперь проблема заключается в том, что иногда viewControllerBeforeViewController и viewControllerAfterViewController не называются, но Pagination работает отлично. Из-за этого я не могу найти направление.

Также я внедрил пользовательский контроль страницы, и я нахожу текущий индекс из этих методов. Когда этот метод не вызвал мой PageControl, теперь работает find.

Я не смогу найти решение проблемы.

+0

вы в состоянии найти решение? Столкнувшись с той же проблемой. – iAmd

+0

@iAmd да ... я исправил это. с какими проблемами вы сталкиваетесь? – Dalvik

+0

увидел ваш ответ ниже, но не уверен, что он по-прежнему решает проблему viewControllerAfterViewController, которую иногда называют, а иногда нет. Имеет ли это? – iAmd

ответ

3

Некоторые из того, как мне удается найти индекс в этом методе делегата.

Всякий раз, когда я возвращаюсь ViewController для PageController Я устанавливаю его значение Index в соответствующем контроллере представления и найти этот Index как:

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

} 
Смежные вопросы