iosios5uikituipageviewcontroller

Is it possible to Turn page programmatically in UIPageViewController?


Is it possible to turn page programmatically in UIPageViewController?


Solution

  • Yes it is possible with the method:

    - (void)setViewControllers:(NSArray *)viewControllers 
                     direction:(UIPageViewControllerNavigationDirection)direction 
                      animated:(BOOL)animated 
                    completion:(void (^)(BOOL finished))completion;`
    

    That is the same method used for setting up the first view controller on the page. Similar, you can use it to go to other pages.

    Wonder why viewControllers is an array, and not a single view controller?

    That's because a page view controller could have a "spine" (like in iBooks), displaying 2 pages of content at a time. If you display 1 page of content at a time, then just pass in a 1-element array.

    An example in Swift:

    pageContainer.setViewControllers([displayThisViewController], direction: .Forward, animated: true, completion: nil)