2016-07-14 3 views
1

Я использую PageViewController. Я хочу отключить салфетки, когда страница является первой или последней.Отключение прокрутки при первом просмотре и последнем виде в uipageviewcontroller

Если первая страница отображается, левый салфетка должна быть отключена, а когда страница последней, а затем правой рукой салфетки будет отключена.

Если я использую следующий код, то красть не работает

if(index == 0) 
    for (UIScrollView *view in pageViewController.view.subviews) { 

     if ([view isKindOfClass:[UIScrollView class]]) { 

      view.scrollEnabled = NO; 
     } 
    } } 
    else if(index ==[images_array count]){ 
    for (UIScrollView *view in pageViewController.view.subviews) { 

     if ([view isKindOfClass:[UIScrollView class]]) { 

      view.scrollEnabled = NO; 
     } 
    } } 

Как этого добиться?

ответ

0

Вам необходимо добавить следующий метод, который будет вызываться при прокрутке до контроллера вида. Затем вы можете проверить, находится ли он в нужном индексе, а затем отключить прокрутку.

func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [UIViewController]) { 
    if pendingViewControllers.count > 0 { 
     let vc = pendingViewControllers[0] as! ViewController 
     // Check index of vc 


    } 
} 

И в Objective-C:

- (void)pageViewController:(UIPageViewController *)pageViewController 
willTransitionToViewControllers:(NSArray<UIViewController *> *)pendingViewControllers { 
    if ([pendingViewControllers count] > 0) { 
     ViewController *vc = pendingViewControllers[0] 
     // Check index of vc 


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