0

Я использовал UIPageViewController с 5 контроллером просмотра для прокрутки. Теперь в моем случае я просто хочу, чтобы пользователь шел вперед, а не назад. Значит, если я нахожусь на контроллере 1-го вида, и я нажал на экран, я перейду на второй контроллер. Теперь я не могу вернуться к 1-му контроллеру.Как обрабатывать прокрутку назад в UIPageViewController?

Прикрепив код здесь.

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 
    return nil; 
} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 
    if ([viewController isKindOfClass:[MyViewController1 class]]) { 
     return [self viewControllerAtIndex:1]; 
    } else if ([viewController isKindOfClass:[MyViewController2 class]]) { 
     return [self viewControllerAtIndex:2]; 
    } else if ([viewController isKindOfClass:[MyViewController3 class]]) { 
     return [self viewControllerAtIndex:3]; 
    } else if ([viewController isKindOfClass:[MyViewController4 class]]) { 
     return [self viewControllerAtIndex:4]; 
    } else { 
     return nil; 
    } 
} 

Любая идея ???

+0

http://stackoverflow.com/questions/ 14426728/uipageviewcontroller-direction-only-forward –

+0

нет успеха. Любая другая идея или ссылка? –

+0

Удалите предыдущий контроллер представления внутри этого метода, если он завершен == YES - (void) pageViewController: (UIPageViewController *) pageViewController doneFinishAnimating: (BOOL) завершено previousViewControllers: (NSArray *) previousViewControllers transitionCompleted: (BOOL) завершено –

ответ

0

Вы можете сделать работу вокруг этого, в стороне didFinishAnimating метод делегата установить currentViewController без анимации

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed 
    { 
    if (completed){ 
     __weak typeof(self) weakSelf = self; 
      dispatch_async(dispatch_get_main_queue(), ^{ 
      [weakSelf.pageViewController setViewControllers:@[vc] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:NULL]; 
     }); 
     } 
    } 

Более подробно по этому вопросу визита here

+0

Сбой приложения. –

+0

Что такое авария –

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