IOS UIPageViewController控件操作

- (void)viewDidLoad

{

    [super viewDidLoad];

    [self createContentPages];// 初始化所有数据

    // 设置UIPageViewController的配置项

    NSDictionary *options =[NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:UIPageViewControllerSpineLocationMin]

                                                           forKey: UIPageViewControllerOptionSpineLocationKey];

        

    // 实例化UIPageViewController对象,根据给定的属性

    self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl

                                                              navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal

                                                                            options: options];

    [[_pageController view] setFrame:[[self view] bounds]];

}



1.UIPageViewControllerDataSource协议

该协议主要有两个方法:

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


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


分别用来提供UIPageViewController对象的数据源,即UIPageViewController对象通过该方法来调度显示的内容。

_pageController.dataSource = self;


2.初始化时,显示适当内容

MoreViewController *initialViewController =[self viewControllerAtIndex:0];// 得到第一页

NSArray *viewControllers =[NSArray arrayWithObject:initialViewController];

[_pageController setViewControllers:viewControllers

                              direction:UIPageViewControllerNavigationDirectionForward

                               animated:NO

                             completion:nil];    

// 在页面上,显示UIPageViewController对象的View

[self addChildViewController:_pageController];

[[self view] addSubview:[_pageController view]];


3.准备好数据源

[self createContentPages];// 初始化所有数据