0
我有兩個標識符爲「one」和「two」的故事板,我有一個UIPageViewController及其子類。在子類中,我有以下代碼:如何刪除UIPageViewController上的無限滾動條?
- (void)viewDidLoad
{
[super viewDidLoad];
self.dataSource = self;
self.delegate = self;
counter = 0;
[self setViewControllers:@[[self.storyboard instantiateViewControllerWithIdentifier:@"one"]] direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[ViewController class]]){
return [self.storyboard instantiateViewControllerWithIdentifier:@"one"];
}
return nil;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if ([viewController isKindOfClass:[secondViewController class]]){
return [self.storyboard instantiateViewControllerWithIdentifier:@"two"];
}
return nil;
}
此代碼工作得很好,但有問題!卷軸是無限的;在我的情況下,我需要取消無限滾動。我如何做到這一點?
第一件事情就是創建一個計數器,做我的方法裏面檢查:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
if (counter < 1) {
NSLog(@"Don't get back");
return nil;
}
......
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
if (counter >= 1) {
NSLog(@"Don't go anymore");
return nil;
}
....
}
的第二件事是嘗試使用櫃檯++和counter--。這對我來說是一個很大的難題,任何人有更好的想法?
是否「一」標識代表了'ViewController'和「兩節」標識代表'secondViewController'在你的故事板? – spassas
是的,像你說的! – LettersBa
然後你的控制語句看起來是錯誤的(反過來更準確)。例如,在'pageViewControllerAfterViewController'中,只有在當前的'viewController'類是'ViewController類'類而不是'如您所寫的'secondViewController類''時,才需要下一個VC – spassas