UIPageViewController in Swift with Xcode | Create Walkthrough in iOS

Download resources + freebie:

For the first time of launching a new app, you probably notice the walkthroughs displayed, showing users what the app is about, how to navigate and use the app.

It’s a great introduction for users to get to know your app and its special features.

In this episode of Code Hangout, we will be creating the very same feature in our app, using something called UIPageViewController.

This is just a container controller in which it doesn’t have any view. Think of it like navigation controller or tab bar controller.

But for all the details, let’s join Code Hangout this time…

Download resources + freebie:


Code Hangout is hosted by Duc Tran, founder of Developers Academy. This is his free-style no notes, no teleprompter presentation and live coding broadcast with you guys everyday.


To subscribe and get free tutorials, courses and weekly content, visit us at:

Get Duc’s free new iOS crash course:
Join Duc’s programs:
Join Total iOS Blueprint:
Join Socialize Your Apps:

Go to his blog, new content daily:






16 responses to “UIPageViewController in Swift with Xcode | Create Walkthrough in iOS”

  1. Mosaic Fox Avatar

    Couldn't open the link. When i clicked signup to get duc's gift, it says "The page you're looking for isn't here."

  2. silver Avatar

    kinda hard to follow without building views from start, thanks anyways.

  3. Francisco García Avatar

    Hey! So i did follow your tutorial but im facing an issue. Lets say I have 2 UI in my view controller(index 0, index 1). In the first one I im using a variable call age set by default to 10 and a Label set by default to "Your Age". . The user set the age, lets say 26, so age = 26, and the Label now shows "Your age is 26" and then scroll to second UI. Here the user push a button that prints the age. It print 10 instead of 26 and if you try label.text it print "Your age" instead of "Your age is 26". if the user goes back to the previous UI the age now prints 26 and the label shows "Your age is 26". So im facing a data stucture issue. any Idea to pass the info from one UI to the other?

  4. Justin Lefrancois Avatar

    Hey Duc Tran

    I am trying to add some animation to my Walkthroughs view controller with canvas pod, but I don't know where to put my startAnimation function because I want my animation to start as soon as I am on a specific page on the page view controller. Thank you!

  5. Wenlong Yu Avatar

    Thanks for another great tutorial!! In this tutorial, you basically used the same viewController with different data and hide/show buttons at different indexes. I wonder if you have a solution for swiping between multiple viewControllers?

  6. MaheshGvelly Avatar

    Great Video!! I was searching for this stuff since a long time. I really appreciate your effort.
    In my case the CourseTableVC is a objective -c class. Mine is a mix and match project has both objective -c and swift. my question is how would i implement the func "displayWalkthroughs" in my objective -c class?

    Please help with this

  7. Mono Avatar

    Where I can download this example?

  8. Doan Trinh Avatar

    I got the error "CUICatalog: Invalid asset name supplied:" and the Walkthroughviewcontroller is blank. Does anyone run into this problem as well? or is it just me?

  9. Diego Aguirre Avatar

    Hey Duc Tran,

    I'm noticing a discrepency with the following functions: viewControllerBeforeViewController, viewControllerAfterViewController and viewControllerAtIndex which are all in the PageViewController file. Basically when the tutorial loads if the user tries to swipe left the index get's changed to -1 which unfortunately offsets all the other indices. Currently this is causing my app to crash because the index range ends up being out of scope. Any ideas on how to solve it? Here's a picture showing you what I mean: https://www.dropbox.com/s/7c2a1zdkfys5kwa/Screenshot%202016-06-06%2021.22.50.png?dl=0.

    By the way I have solved the issue by forcing the index in viewControllerBeforeViewController to always conform to 1 before removing 1 and same for viewControllerAFterViewController I forced the index to always be 0 before adding 1 but for some reason this allows the user to constantly scroll left or right regardless of the index count.

  10. Casey West Avatar

    IM getting the following error: whose view is not in the window hierarchy!

    Any ideas?

  11. Scott Brady Avatar

    How would you get it to display after a user updates the app and you're saying what's new in the update using the page view controller?

  12. Hiep Pham Avatar

    How can I skip the "page control" permanently at the button of the walkthrough pages ?

  13. James Cozzi Avatar

    I am unable to get the resources needed any help?

  14. Dan Levy Avatar

    How could I customize the page control to give a look like the Instagram activity section?

Leave a Reply

Your email address will not be published. Required fields are marked *