2016-07-14 2 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

보기 컨트롤러로 스크롤 할 때 호출되는 다음 메소드를 추가해야합니다. 그런 다음 올바른 색인에 있는지 확인한 다음 스크롤을 사용 중지 할 수 있습니다.

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


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


    } 
} 

그리고 오브젝티브 C에

관련 문제