iOS Swift 总是从相同的视图控制器开始

iOS Swift always start with same view controller

我面临两个问题;

  1. 如何显示登录屏幕总是意味着即使应用程序来自后台我也需要显示登录页面。

  2. 我在 Home 控制器中有一个注销按钮,我使用 Show Segue 从登录切换到主页,但是我无法在单击注销时返回到登录。 我使用下面的代码移动到登录页面

    self.navigationController?.popViewControllerAnimated(true)
    

您的登录页面不在导航控制器内。您的导航控制器无法弹出。相反,我们需要关闭导航控制器本身。

self.navigationController?.dismissViewControllerAnimated(false, completion: nil)

因此,只要您想返回到第一个登录页面,就可以随时调用此代码。当应用程序从后台返回时执行此操作时,点击应用程序委托的 applicationWillEnterForeground(application:) 方法。

考虑到我们可能不会从应用程序委托中引用导航控制器或我们的任何视图控制器,我们可以只使用应用程序委托的 window 的根视图控制器(应该是你的登录控制器)关闭一切。所以在 applicationWillEnterForeground(application:) 中添加:

self.window?.rootViewController?.dismissViewControllerAnimated(false, completion: nil)

您可以在事件中使用 segue,在单击按钮时可以使用以下代码。

self.performSegueWithIdentifier("logoutSegue", sender: self)

Please note that I have give the segue name as "logoutSegue".