UIPageViewController最简单的使用方法

尚棋
2023-12-01

- (void)viewDidLoad

{

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];

    self.pageViewController.delegate = self;

    

    PagesViewController *startingViewController = [[PagesViewController alloc] init];

    NSArray *viewControllers = @[startingViewController];

    [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

    

    self.pageViewController.dataSource = self;

    

    [self addChildViewController:self.pageViewController];

    [self.view addSubview:self.pageViewController.view];

    

    // Set the page view controller's bounds using an inset rect so that self's view is visible around the edges of the pages.

    CGRect pageViewRect = self.view.bounds;

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {

        pageViewRect = CGRectInset(pageViewRect, 40.0, 40.0);

    }

    self.pageViewController.view.frame = pageViewRect;

    

    [self.pageViewController didMoveToParentViewController:self];

    

    // Add the page view controller's gesture recognizers to the book view controller's view so that the gestures are started more easily.

    self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;

}


#pragma mark - Page View Controller Data Source


- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController

{

//    NSUInteger index = [self indexOfViewController:(DataViewController *)viewController];

//    if ((index == 0) || (index == NSNotFound)) {

//        return nil;

//    }

    

    

    return [[PagesViewController alloc] init];

}


- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController

{

    

    return [[PagesViewController alloc] init];

}

PagesViewController是另外一个类
 类似资料: