【问题标题】:How to remove a ViewController from navigation stack and not have the option to go back to it-Swift如何从导航堆栈中删除 ViewController 并且没有返回到它的选项-Swift
【发布时间】:2017-11-16 16:27:29
【问题描述】:

我有一个登录页面,如果登录成功,用户将被带到登陆 viewController(VC)。我有一个导航控制器。我弹出登录 VC 并推入登陆 VC。我遇到的问题是登录 VC 保留在堆栈中,如导航控制器上的左按钮所示,该按钮将您导航回登录页面。如何从堆栈中完全删除登录 VC,以便导航控制器无法在用户登录后将其导航回它?

 self.navigationController?.popViewController(animated: true)

 let landingPage = self.storyboard?.instantiateViewController(withIdentifier: "landingPage") as! 
 LandingViewController

 self.navigationController?.pushViewController(landingPage, animated: true)

【问题讨论】:

  • UINavigationController.viewControllers 是导航堆栈,您可以删除一个并将数组再次设置为 NavigationController
  • 你能详细介绍一下吗?
  • 检查@Wez提供的答案是我在说什么

标签: ios swift uinavigationcontroller


【解决方案1】:

您可以使用setViewControllers 方法来设置堆栈,如下所示:

self.navigationController?.setViewControllers([landingPage], animated: true)

你也不需要先弹出登录视图控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-24
    • 2015-05-31
    • 1970-01-01
    • 2012-12-05
    • 2020-12-07
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多