假设我有一个故事板,例如logInVC-> navViewController-> RootVC-> restOfStack
如果在rootVC中我想要logOut,从而在没有logInVC成为我的堆栈的一部分的情况下切换到logInVC,那么我该怎么做呢。我基本上需要完全摆脱导航控制器及其堆栈,返回到navVC之前的应用程序启动页面。
很惊讶在Swift中找到这个问题的答案很困难,会认为这是一个非常普遍的问题。
答案 0 :(得分:0)
通过关闭密钥窗口的根视图控制器,您将关闭所有视图控制器并返回到登录vc,假设它是初始视图控制器。
UIApplication.sharedApplication().keyWindow?.rootViewController?.dismissViewControllerAnimated(true, completion: nil)
答案 1 :(得分:0)
如果没有ViewController
,您无法推送NavigationController
。但是很少有办法达到你的需要。
将Login
ViewController设为RootViewController
。
如果您不想使用导航控制器,最接近的选择是ModalView
控制器。
呈现控制器:
self.presentViewController(controller, animated: true, completion: nil)
解雇控制器:
self.dismissViewControllerAnimated(true, completion: {});