我正在寻找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,为什么要求一个数组?
答案 0 :(得分:2)
如果您一次只显示一个页面,则有一个视图控制器。如果一次显示两个页面,则有两个视图控制器。
顺便说一句,我的书教你开始使用Page View Controller:
http://www.apeth.com/iOSBook/ch19.html#_page_view_controller
但是我还没有为iOS 6和新的滚动转换风格更新它。