私は 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 に要素が 1 つしかない場合は機能します。self.pageViewController.viewControllers はその 1 つの要素で埋められます。
viewController に複数の要素がある場合、機能しなくなります。self.pageViewController.viewControllers には空の配列があります。
なぜだろう。UIPageViewController は初めてです。UIViewController を 1 つしか満たすことができない場合、なぜ配列を要求するのでしょうか?