如何将ViewController添加到UIPageViewController

时间:2013-04-03 09:33:07

标签: iphone ios objective-c xcode storyboard

我的故事板上有一个UIPageViewController,现在我想知道如何添加一个视图控制器呢?让我们说如果我有5个视图控制器,我如何从头到尾添加那些到UIPageViewController?通常我会这样做:

        [self addChildViewController:firstViewController];
        [self addChildViewController:secondViewController];
        [self addChildViewController:thridViewController];
        [self addChildViewController:fourthViewController];
        [self addChildViewController:fifthViewController];

但我不知道如何按此顺序在UIPageViewController上添加它......

修改

ChapterViewController *chapterViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ChapterView"];
NSArray *viewControllers = [NSArray arrayWithObject:chapterViewController];

[self setViewControllers:viewControllers
                         direction:UIPageViewControllerNavigationDirectionForward
                          animated:NO
              completion:^(BOOL finished){
                  NSLog(@"call back success");}];

1 个答案:

答案 0 :(得分:3)

UIPageViewController不允许一种方法一次添加一个新的视图控制器,大概是因为Apple希望开发人员 一次一个地添加一个页面(我可以看到这对应用程序用户造成了令人困惑的用户界面。)

要执行您想要执行的操作,您必须将新视图控制器添加到数组(可能是已存在的视图控制器的数组,您可以通过"viewControllers"检索),然后调用"setViewControllers:direction:animated:completion:"使用 new 视图控制器数组,包括将一个(或多个)新视图控制器添加到页面视图控制器。