Set Window Root View Controller

With this short code example I am going to share with you how to set current window root view controller to a different one. The effect is as if you are replacing the current view controller with a new one. The new view controller will not be pushed into navigation stack and will not be presented on top of the window it will take place of existing view controller and very much looks like you are replacing current view controller with a new one. I use this approach whenever I need to log user out and take them to page #1.

The below code example needs to be ran from a ViewController rather than from AppDelegate.swift file for example.

Set Window Root View Controller Code Example in Swift

let signInPage = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
let appDelegate = UIApplication.shared.delegate
appDelegate?.window??.rootViewController = signInPage

Checkout the below video courses to learn more about Mobile App Development for iOS platform with Swift.


Learn iOS Development with these Video Courses

The Complete iOS 11 & Swift Developer Course - Build 20 Apps

Use Xcode 9 & Swift 4 to make real apps like Uber and Instagram, with CoreML & ARKit. Includes AWS Credit and much more. Preview this video course. icon

How to Make a Freaking iPhone App - iOS 11 and Swift 4

iPhone App Development from scratch. Learn how to make iOS apps using Xcode 9. The Basics Include Pokemon Go & Snapchat. Learn to build iOS Apps with Xcode 9 and Swift 4. How to Make a Freaking iPhone App - iOS 11 and Swift 4 icon

iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course

A Complete iOS 11 and Xcode 9 Course with Swift 4 & Objective-C. Preview this video course. iOS 11 and Xcode 9 - Complete Swift 4 & Objective-C Course icon