Вам нужно вызвать
self.view.window?.rootViewController?.dismiss(animated: false, completion: nil)
animation false, если вы не хотите видеть промежуточные контроллеры, если он все еще имеет значение sh вы можете скрыть другие представленные представления или сделать их альфа 0
как
if let first = presentedViewController,
let second = first.presentedViewController,
let third = second.presentedViewController {
second.view.alpha = 0
first.view.alpha = 0
third.dismiss(animated: false)
}
или непосредственно для rootViewController
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = YourViewController
или в IOS 13 делегат сцены
let scene = UIApplication.shared.connectedScenes.first
if let getSceneDelegate : SceneDelegate = (scene?.delegate as? SceneDelegate) {
getSceneDelegate.window?.rootViewController = YourController
}