Skip to content

Instantly share code, notes, and snippets.

@implementation ViewController
#pragma mark View Lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
[self createPageViewController];
[self setupPageControl];
}
// MARK: - View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
createPageViewController()
setupPageControl()
}
private func createPageViewController() {
let pageController = self.storyboard!.instantiateViewControllerWithIdentifier("PageController") as! UIPageViewController
#pragma mark UIPageViewControllerDataSource
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
PageItemController *itemController = (PageItemController *)viewController;
if (itemController.itemIndex > 0)
{
return [self itemControllerForIndex:itemController.itemIndex-1];
}
// MARK: - UIPageViewControllerDataSource
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
let itemController = viewController as! PageItemController
if itemController.itemIndex > 0 {
return getItemController(itemController.itemIndex-1)
}
#pragma mark Page Indicator
- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController
{
return [_contentImages count];
}
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
{
return 0;
// MARK: - Page Indicator
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
return contentImages.count
}
func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
return 0
}
- (UIViewController *)currentController
{
if ([self.pageViewController.viewControllers count])
{
return self.pageViewController.viewControllers[0];
}
return nil;
}
func currentController() -> UIViewController? {
if self.pageViewController?.viewControllers?.count > 0 {
return self.pageViewController?.viewControllers![0]
}
return nil
}
func currentControllerIndex() -> Int {
let pageItemController = self.currentController()
if let controller = pageItemController as? PageItemController {
return controller.itemIndex
}
return -1
}
- (NSUInteger)currentControllerIndex
{
PageItemController *pageItemController = (PageItemController *) [self currentController];
if (pageItemController)
{
return pageItemController.itemIndex;
}
return -1;