2015-12-23 38 views
0

我有一個具有2個VC(索引0和1)的UIPageViewController,我想避免用戶在第一個視圖(索引0)上滾動到右側,並且滾動到第二個視圖(索引1)的左側。避免用戶使用UIPageViewController滾動到索引-1和2

有沒有人可以告訴我我該怎麼做?

謝謝!

+0

不清楚你想要達到的目標。請詳細說明.. – iProgrammer

+0

@iProgrammer我對pageViewController有2個視圖。我希望如果用戶在第一個視圖上,他將無法向右滑動(僅在左側 - 到第二個視圖),如果他在第二個視圖上,他將無法滑動到左邊(就在右邊 - 到第一個視圖)。現在更清楚了嗎? – Yhper

回答

0

嘗試這些數據源的方法:

@SWIFT版本

public func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { 
    var index = viewControllers.indexOf(viewController) 
    if index == 0 || index == NSNotFound { 
     return nil 
    } 

    index-- 
    return viewControllerAtIndex(index) 
} 

public func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { 
    var index = viewControllers.indexOf(viewController) 
    if index == NSNotFound { 
     return nil 
    } 

    index++ 
    if index == viewControllers?.count { 
     return nil 
    } 

    return viewControllerAtIndex(index) 
} 

@OBJC版本

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 
    NSInteger index = [viewControllerArray indexOfObject:viewController]; 

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

    index--; 
    return [viewControllerArray objectAtIndex:index]; 
} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 
    NSInteger index = [viewControllerArray indexOfObject:viewController]; 

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

    if (index == [viewControllerArray count]) { 
     return nil; 
    } 
    return [viewControllerArray objectAtIndex:index]; 
} 
+0

用戶一直能夠滾動,它只是在兩側顯示黑色視圖,我不希望黑色視圖,我希望它不能滾動這一側 – Yhper

0

可以使用UIPageViewcontroller的指數值來實現這一目標。但是這很痛苦......讓你檢查一下。