0

我正在寻找 UIPageViewController 并找到了这个: http: //www.ioslearner.com/implementing-uipageviewcontroller-programatically-without-storyboarding/

这很可疑。为什么它最初插入一个只有 1 个 viewController 的数组。

所以我做了一个程序试图插入2-10。如果我最初只插入 1 个 viewController,该程序就可以工作。但是,如果我尝试插入 2-10,它就不起作用。

   [self.containerView addSubview:self.pageViewController.view];
    self.pageViewController.view.frame = self.containerView.bounds;

    NSMutableArray * arrayOfControllers=[NSMutableArray array];
    for (int i = 0; i<1 ; i++) { //if I set this into for (int i = 0; i<10 ; i++) { instead it wouldn't work
        BlankImageViewController *contentViewController = [[BlankImageViewController alloc] init];
        contentViewController.view.frame = self.containerView.bounds;
        [arrayOfControllers addObject:contentViewController];
        //contentViewController.labelContents = [self.modelArray objectAtIndex:0];
    }

    NSArray *viewControllers = @[arrayOfControllers.lastObject];
    viewControllers = [NSArray arrayWithArray:arrayOfControllers]; //If this line is commented it works
    [self.pageViewController setViewControllers:viewControllers
                                      direction:UIPageViewControllerNavigationDirectionForward
                                       animated:YES
                                     completion:nil];

如果 viewControllers 只有一个元素,它就可以工作。self.pageViewController.viewControllers 将填充该 1 元素。

如果 viewControllers 有多个元素,那么事情就不再起作用了。self.pageViewController.viewControllers 将有空数组。

我想知道为什么。我是 UIPageViewController 的新手。如果你只能填充一个 UIViewController 为什么要一个数组?

4

1 回答 1

2

如果您一次只显示一页,则有一个视图控制器。如果一次显示两个页面,则有两个视图控制器。

顺便说一句,我的书教你开始使用 Page View Controller:

http://www.aeth.com/iOSBook/ch19.html#_page_view_controller

但我还没有为 iOS 6 和新的滚动过渡样式更新它。

于 2012-10-17T16:26:39.773 回答