我有一個具有2個VC(索引0和1)的UIPageViewController,我想避免用戶在第一個視圖(索引0)上滾動到右側,並且滾動到第二個視圖(索引1)的左側。避免用戶使用UIPageViewController滾動到索引-1和2
有沒有人可以告訴我我該怎麼做?
謝謝!
我有一個具有2個VC(索引0和1)的UIPageViewController,我想避免用戶在第一個視圖(索引0)上滾動到右側,並且滾動到第二個視圖(索引1)的左側。避免用戶使用UIPageViewController滾動到索引-1和2
有沒有人可以告訴我我該怎麼做?
謝謝!
嘗試這些數據源的方法:
@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];
}
用戶一直能夠滾動,它只是在兩側顯示黑色視圖,我不希望黑色視圖,我希望它不能滾動這一側 – Yhper
可以使用UIPageViewcontroller的指數值來實現這一目標。但是這很痛苦......讓你檢查一下。
不清楚你想要達到的目標。請詳細說明.. – iProgrammer
@iProgrammer我對pageViewController有2個視圖。我希望如果用戶在第一個視圖上,他將無法向右滑動(僅在左側 - 到第二個視圖),如果他在第二個視圖上,他將無法滑動到左邊(就在右邊 - 到第一個視圖)。現在更清楚了嗎? – Yhper