我有一个仪表板,然后是登录屏幕和个人资料屏幕。进入个人资料屏幕后,我希望删除登录屏幕,以便当我按“后退”按钮时,将被带到仪表板而不是登录。所有这些都是导航视图控制器的视图控制器,我使用本方法显示tge。

我有一个问题,在使用导航期间登录可以出现在任何地方。示例:仪表板,屏幕2,屏幕3,登录名,配置文件。在这里,我必须删除登录名,并且当用户从个人资料中点击时,它应该显示屏幕3。

最佳答案

在登录视图控制器中实现以下内容:

override func viewWillDisappear(_ animated: Bool) {
    var navigationArray = navigationController?.viewControllers
    let count = navigationArray?.count
    navigationArray?.remove(at: count! - 2)
    navigationController?.viewControllers = navigationArray!
}


这将在浏览器即将消失时从导航堆栈中删除当前的视图控制器(在您的情况下为登录VC)。因此,当您从下一个VC点击后退按钮时,它将始终带您进入登录前的VC。

关于ios - 如何从当前 View Controller 弹出先前的 View Controller ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54607982/

10-15 16:47