How to Make Slide Out Menu in Swift with SWRevealViewController

DOWNLOAD + free iOS course:

Have you ever used apps like Spotify, Google’s apps? You’ll see these popular apps have been using a different kind of navigation that is not iOS-standard navigation bar or tab bar.

They are using something called slide out menu. Have you ever wondered how you can implement such feature? That’s exactly what we are going to do in this episode of Code Hangout.

We will not build this from scratch but rather use an open-source library called SWRevealViewController.

Before we move on into the demo with me, let’s download the starter project below and get get started! Oh, as usual, I want to THANK YOU for checking out this replay of LIVE Code Hangout with me, I’d like to invite you to my LIVE hangout and give you my new iOS course as a gift.

Enter your name and email there so that I can send you the projects and courses.

DOWNLOAD + free iOS course:

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 join Duc LIVE, register for free at

To subscribe and get free tutorials, courses and weekly content, visit me 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:






42 responses to “How to Make Slide Out Menu in Swift with SWRevealViewController”

  1. saba zehra Avatar

    HEY HI!!
    Thankx for the video. I am following the same steps but i have a problem this is
    i need both the screens to share the same navigation bar when the burger icon is clicked.
    how to do this? i am having no hint at all

  2. Beanstudio Avatar

    Please fix the link

  3. Nik Avatar

    link is broken

  4. david cornelius towoliu Avatar

    I can't access the link above, please update the link

  5. Patrick Tembo Avatar

    But how do you get back to the page with the tab bar

  6. Kenny Yay Avatar

    I have a question.

    How can I prevent it from opening the view that is already open. Like, how can I disable the option when it is already active?

    Thanks in advance!

  7. Phạm Trung Đức Avatar

    Very helpful,
    Thank you, Đức 😀

  8. Brigitte Wente Avatar

    I am having an issue with the menu button. it doesnt work. Is it because i am trying to get it to work on xcode 8 swift 3? I am getting an expected expression error on the CoursesTableViewController. I could really use and would greatly appreciate a hand.

  9. Ngô Anh Duy Avatar

    anh dạy rất dễ hiểu 😀

  10. Fermendkis Avatar

    hei ductran how to custom table slidemenud without shadow?

  11. Jaisan Mathew Avatar

    thank you…it works perfect

  12. Youngster Dev Avatar

    Could you please let me know how to add scroll in slide out menu, if we have more items in that slide out menu?

  13. lovely snow Avatar

    I have a trouble with this SWRevealViewController. Please kindly help me how to solve this. Here is my question. . Thanks a lot.

  14. kunal kushwaha Avatar

    m having trouble while implementing SlideMenu using SWRevealViewController..
    i want to implement the SlideMenu on RecordPage..
    My app starts with LoginPage then after successful Login i move to ContactPage then on RecordPage where i want to implement SlideMenu. my question how can i connect the SWRevealViewContoller to RecordPage ??
    I m connecting the SWRevealController with slidingMenu using "sw_rear" and and RecordPage with "sw_front" rest of code is fine.. but it doesn't work when i click on MenuButton on RecordPage..

  15. Sharkes Monken Avatar

    Is there way to load a view controller after clicking on menu item list without making tab bar controller disappear ?. @DucTran

  16. emiliano259 Avatar

    this tutorial is compatible with swift 3??

  17. Kaushik Loves Avatar

    I have a login initial view controller. If user is validated it performs segue to SWRevealViewController in the storyboard. Then loads Main dashboard(from sw_front). Now the problem is that I cant pass value from login view controller to maindashboard view controller. Tried all possible ways but prepare(forSegue) method isnt getting used to pass data to change the label on (third) main dashboard view controller. Setting identifier to reveal will crash because it doesnt have that label property. And performing SW_front wont work because reveal is in the line. What should i do?

  18. rishabh gupta Avatar

    Can you please share source code ??? Duc

  19. Volkan Elçi Avatar

    What should i do if i want to same slide out menu in another view controller?

  20. alvesdasilva22 Avatar

    Does anybody else have a problem with revealing the rear (right) view controller in a Swift 3 (Xcode 8) project? More precisely, the revealToggle: (rightRevealToggle:) methods do not trigger the reveal animation.

  21. Nitin Solanki Avatar

    very helpful video.
    can you guide me, I working on app based on two language (English and Arabic) ,I have implement slide out menu, but on Language change (Arabic) how to make this slide out from right side slide, only need from left (In English).
    Please help me. Thanks in Advance

  22. Juan Calcagno Avatar

    Is SWRevealViewController the best library for slide menu?, nice videos Duc

  23. Rahul Udatha Avatar

    How do I open the .pbxproj file?
    Xcode displays a bunch of code.

  24. Thijs Spoelstra Avatar

    I have a black screen

  25. Fausto Savatteri Avatar

    Thank you for the great video!!!
    But I have some trouble if I try to implement it in my project with Login View Controllers…I do not want to set SWRevealViewController as initial view controller (as I check if user as logged in before and load user data). But in this way revealViewController() always = nil…what can I do? I checked all my segues seems ok with SWRevealViewControllerSeguePushController class.

  26. Roberto Ferro Avatar

    My bru, this is now the second time I've watched one of your videos and every time they are so legit. Please keep this up man.

  27. James Avatar

    Is there a continuation of this video, to implement the other features, to get to a complete app?

  28. DeLeizard Avatar

    For me this is the best SWRevealViewController tutorial so far. Could you please add some tutorial about add multiple slide out menu (left and right) in one app ?
    Thank you.

  29. Thang Pham Avatar

    hôm nào rảnh anh có thể làm clip hướng dẫn cách tạo và sử dụng 1 cái calendar view open source nào đó đc ko ạ !? e cảm ơn a nhiều , e thử mấy cái nhưng công đoạn add thư viện vào nó không chỉ là copy file mà còn mấy thứ loằng ngoằng cocoapod gì đó nữa, mong anh giúp đỡ 😀

  30. Bhavik Patel Avatar

    That was great tutorial and it really help me. But i have one ISSUE with using this SideBar Menu. When I go to next view2 after select view1 from menu, and after came back to previous view1(which I selected from menu) then I can not access menu with penGesture, neither using button.

    Please respond me soon, I m stuck in my project

  31. darkspd31 Avatar

    Thank you, Thank you, Thank you!!. I have already subscribed and extended this app to include an embedded TabBarController and TableView!! Just think, I only started iOS and Swift from scratch three weeks ago. 🙂

  32. John Gmail Avatar

    Can't download project for this video after submitting email and name.

  33. Najam Sikander Avatar

    pulling my hair to make it work. tapping on button and sliding doesn't show the sidebar. Anyone has finished version ?

  34. Vireakpanha Khy Avatar

    Hey, Duc! Your video is interesting. But Can you teach us how to publish our apps to App Store and Earn money?

  35. Raphaël saclé Avatar

    Hello good tuto
    I want the last item of the TabBar to trigger the menu how would you do this ?

  36. SOGA Motion Avatar

    tình cờ gặp, thật vui khi thấy a là người Việt :3

  37. Roman Shirokov Avatar

    What should I do if I do not want tab bars? Should I replace this controller with something else? I tried to change "Simulated metrics" -> "Bottom bar" to NONE, but it does not work. The first screen shows this bar anyway. However, it disappears when I change the screen (choose another screen in menu)

  38. Zafer Celaloglu Avatar

    above link gives an 404 response message

  39. Tom Jansen Avatar

    Do you have to pay in order to test your app on a real device?

  40. Josh Lopez Avatar

    hey man! 🙂 there is a lot of echo in this video. maybe try to hang some thick blankets on the walls where the camera cant see them. might help. much love!

Leave a Reply

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