我正在使用PageViewController
。我希望在页面是第一页或最后一页时禁用滑动。
如果显示第一页,则应禁用左侧滑动,当页面位于最后一页时,右侧滑动手势将被禁用。
如果我使用以下代码,则滑动无法正常工作
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 :(得分: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
}
}