我目前正在开发一个基于iOSPage View Controller项目。一切正常,但是,我想防止用户超出页面的限制。

例如,当PageViewController位于第一页中时,如果用户尝试通过向左拖动Page View来跳至上一页(甚至认为没有人),则Root View Controller会一直显示到您释放拖动为止可以在下面的屏幕截图中看到。

ios - 如何防止PageViewController溢出?-LMLPHP

有什么方法可以在Page View Controller的第一页和最后一页中阻止此手势?

最佳答案

使用PageviewController委托方法

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {

if (indexTest < NUM_OF_PAGES) {
    switch (indexTest) {

        case 0:{
            NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:1] ] );
            indexTest++;
            return [viewControllers objectAtIndex:1];
            break;
        }
        case 1:{
            NSLog(@"Page AFTER is Page: %@", [NSString stringWithFormat:@"%@",[viewControllers objectAtIndex:2] ] );
            indexTest++;
            return [viewControllers objectAtIndex:2];
            break;
        }
        case 2:{
            NSLog(@"No pages AFTER this current page %d", indexTest);
            break;
        }
        default:{
            NSLog(@"PROBLEM  in viewAFTER, indexTest = %d!!!!", indexTest);
            break;
        }
    }

}
return nil;

}

使用indexTest做一个类似的事情,它是int变量,根据每次滑动增加页数。
NUM_OF_PAGES is the total pages available for page controlling.

关于ios - 如何防止PageViewController溢出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33210566/

10-11 00:26