I am new to programming and am trying to make a PageViewController using xib's.
I have followed a tutorial found on SO which showed me how to make a PageViewController using different UIViewControllers in storyboard (I have pasted the code below). This works well, however, for my final app I would like to use a PageViewController in an xib (with multiple different xibs).
#import "IntroPages.h"
@implementation IntroPages
{
NSArray *myViewControllers;
}
-(void)viewDidLoad
{
[super viewDidLoad];
self.delegate = self;
self.dataSource = self;
UIViewController *p1 = [self.storyboard instantiateViewControllerWithIdentifier:@"1ID"];
UIViewController *p2 = [self.storyboard instantiateViewControllerWithIdentifier:@"2ID"];
UIViewController *p3 = [self.storyboard instantiateViewControllerWithIdentifier:@"3ID"];
UIViewController *p4 = [self.storyboard instantiateViewControllerWithIdentifier:@"4ID"];
myViewControllers = @[p1,p2,p3,p4];
[self setViewControllers:@[p1]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO completion:nil];
}
-(UIViewController *)viewControllerAtIndex:(NSUInteger)index
{
return myViewControllers[index];
}
-(UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController
{
NSUInteger currentIndex = [myViewControllers indexOfObject:viewController];
--currentIndex;
currentIndex = currentIndex % (myViewControllers.count);
return [myViewControllers objectAtIndex:currentIndex];
}
-(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger currentIndex = [myViewControllers indexOfObject:viewController];
++currentIndex;
currentIndex = currentIndex % (myViewControllers.count);
return [myViewControllers objectAtIndex:currentIndex];
}
-(NSInteger)presentationCountForPageViewController: (UIPageViewController *)pageViewController {
return myViewControllers.count;
}
-(NSInteger)presentationIndexForPageViewController: (UIPageViewController *)pageViewController {
return 0;
}