Поскольку мне это тоже нужно, я более подробно расскажу, как это сделать.
Примечание: я предполагаю, что вы использовали стандартную форму шаблона для генерации структуры UIPageViewController
, в которой были созданы как modelViewController
, так и dataViewController
при ее вызове. Если вы не понимаете, что я написал - вернитесь и создайте новый проект, который использует UIPageViewController
в качестве основы. Тогда ты поймешь.
Таким образом, для перехода на определенную страницу необходимо настроить различные части метода, перечисленного выше. В этом упражнении я предполагаю, что это ландшафтный вид с двумя отображаемыми видами. Кроме того, я реализовал это как IBAction, чтобы его можно было сделать нажатием кнопки или нет - это так же просто чтобы сделать это вызов селектора и передать необходимые элементы.
Итак, для этого примера вам понадобятся два контроллера вида, которые будут отображаться - и при желании, идете ли вы вперед в книге или назад.
Обратите внимание, что я просто жестко запрограммировал, куда идти на страницы 4 и 5 и использую промах.
Отсюда вы можете видеть, что все, что вам нужно сделать, это передать переменные, которые помогут вам получить эти предметы ...
-(IBAction) flipToPage:(id)sender {
// Grab the viewControllers at position 4 & 5 - note, your model is responsible for providing these.
// Technically, you could have them pre-made and passed in as an array containing the two items...
DataViewController *firstViewController = [self.modelController viewControllerAtIndex:4 storyboard:self.storyboard];
DataViewController *secondViewController = [self.modelController viewControllerAtIndex:5 storyboard:self.storyboard];
// Set up the array that holds these guys...
NSArray *viewControllers = nil;
viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController, nil];
// Now, tell the pageViewContoller to accept these guys and do the forward turn of the page.
// Again, forward is subjective - you could go backward. Animation is optional but it's
// a nice effect for your audience.
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];
// Voila' - c'est fin!
}