2015-08-29 3 views
2

Я использую pageViewController в своем приложении. У меня есть 9 страниц, которые создаются с помощью dymanically, и на каждой странице есть 1 вопрос, у которого есть 4 ответа с несколькими вариантами ответов. Каждая опция имеет пользовательский UIButton с изображением и его «BlankedCheckBox», когда опция не выбрана, и «MakredCheckBox» при ее выборе. Сейчас я могу перейти на следующую страницу, даже если какой-либо из доступных ответов не выбран. Я хочу перейти на следующую страницу, только если пользователь выбрал один из доступных вариантов. Стиль перехода моего pageViewController - это прокрутка. Мне кажется, что я должен добавить что-то в следующем методе. Любая помощь будет очень признательна, спасибо.Как условно перейти на следующую страницу в pageViewController?

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 
    NSUInteger index = ((PageContentViewController *) viewController).pageIndex; 

    if (index == NSNotFound) { 
     return nil; 
    } 

    index ++; 

    if (index == [self.questionTitles count]) { 
     return nil; 
    } 
    return [self viewControllerAtIndex:index]; 
} 

ответ

0

Не следует применять методы dataSource. Если вы сделаете это, пользователь может прокручивать, используя жест.

Для достижения поведения вы хотите, установить страницу в коде в IBAction контроля:

- (IBAction)nextPage { 
    [self setViewControllers:[nextViewController] 
      direction: UIPageViewControllerNavigationDirectionForward 
       animated:YES 
      completion:nil]; 
} 
Смежные вопросы