Question: Regarding to this [tutorial by AppCoda about how to implement a app with UIPageViewController](http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/) I'd like to use a custom page control element on top of the pages instead of at the bottom. 

When I just put a page control element on top of the single views which will be displayed, the logical result is that the control elements scrolls with the page view away from the screen. 

How is it possible to put the control element on top of the views so the page views are full screen (like with an image) so the user can see the views underneath the fixed control element?

I attached an example screenshot - credits to [AppCoda and Path](http://www.appcoda.com/uipageviewcontroller-tutorial-intro/):

![enter image description here](https://i.stack.imgur.com/pR5KH.jpg)

Answer: 
sn3ek Your answer got me most of the way there. I didn't set the current page using the `viewControllerCreation` methods though.

I made my `ViewController also` the delegate of the `UIPageViewController`. Then I set the `PageControl`'s `CurrentPage` in that method. Using the `pageIndex` maintained I'm the `ContentViewController` mention in the original article.

```
- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
  APPChildViewController *currentViewController = pageViewController.viewControllers[0];
  [self.pageControl setCurrentPage:currentViewController.pageIndex];
}

```

don't forget to add this to `viewDidLoad`

```
self.pageViewController.delegate = self;

```

To follow up on PropellerHead's comment the interface for the `ViewController` will have the form

```
@interface ViewController : UIViewController <UIPageViewControllerDataSource, UIPageViewControllerDelegate>

```
You have to implement a custom `UIPageControl` and add it to the view. As others have mentioned, `view.bringSubviewToFront(pageControl)` must be called.

I have an [example](http://samwize.com/2016/03/08/using-uipageviewcontroller-with-custom-uipagecontrol/) of a view controller with all the code on setting up a custom `UIPageControl` (in storyboard) with `UIPageViewController`

There are 2 methods which you need to implement to set the current page indicator.

```
func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [UIViewController]) {
    pendingIndex = pages.indexOf(pendingViewControllers.first!)
}

func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
    if completed {
        currentIndex = pendingIndex
        if let index = currentIndex {
            pageControl.currentPage = index
        }
    }
}

```