Leider hat die akzeptierte Lösung in meinem Fall nicht funktioniert. Ich habe versucht, zu einem neuen View Controller zu navigieren, nachdem ich von einem anderen View Controller abgewickelt wurde.
Ich habe eine Lösung gefunden, indem ich ein Flag verwendet habe, das angibt, welche Abspulsequenz aufgerufen wurde.
@IBAction func unwindFromAuthenticationWithSegue(segue: UIStoryboardSegue) {
self.shouldSegueToMainTabBar = true
}
@IBAction func unwindFromForgetPasswordWithSegue(segue: UIStoryboardSegue) {
self.shouldSegueToLogin = true
}
Dann präsentieren Sie den gesuchten VC mit present(_ viewControllerToPresent: UIViewController)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if self.shouldSegueToMainTabBar {
let mainTabBarController = storyboard.instantiateViewController(withIdentifier: "mainTabBarVC") as! MainTabBarController
self.present(mainTabBarController, animated: true)
self.shouldSegueToMainTabBar = false
}
if self.shouldSegueToLogin {
let loginController = storyboard.instantiateViewController(withIdentifier: "loginVC") as! LogInViewController
self.present(loginController, animated: true)
self.shouldSegueToLogin = false
}
}
Grundsätzlich lässt mich der obige Code die Rückabwicklung von login/SignUp VC abfangen und zum Dashboard navigieren, oder die Rückabwicklungsaktion von Passwort vergessen VC abfangen und zur Login-Seite navigieren.