NEW: Master Swift design patterns with my latest book! >>

How to set the tabs in a UITabBarController

Written by Paul Hudson    @twostraws

If you're creating your tab bar controller from scratch, or if you just want to change the set up of your tabs at runtime, you can do so just by setting the viewControllers property of your tab bar controller. This expects to be given an array of view controllers in the order you want them displayed, and you should already have configured each view controller to have its own UITabBarItem with a title and icon.

If your tab bar controller is the root view controller of your window, you should be able to write something like this:

if let tabBarController = window?.rootViewController as? UITabBarController {
    let first = FirstViewController()
    let second = SecondViewController()

    tabBarController.viewControllers = [first, second]
}

Available from iOS 2.0 – see Hacking with Swift tutorial 7

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Get the ultimate experience

The Swift Power Pack includes my first six books for one low price, helping you jumpstart a new career in iOS development – check it out!

Click here to visit the Hacking with Swift store >>