【发布时间】:2016-12-10 10:51:28
【问题描述】:
我在将视图展开到登录屏幕时遇到问题。故事板结构如下: Storyboard Structure
应用程序的用户流程如下: LoginVC上的用户登录->通过模态segue进入主标签栏屏幕->在每个标签栏项目上,我在导航控制器上添加了右栏按钮以访问配置文件页面,每个标签栏项目都有独立的导航控制器以保留导航控制器结构线性。 -> 一旦我点击个人资料页面按钮,个人资料页面以模态方式呈现 -> 当点击个人资料页面上的注销按钮时,它会触发展开 segue 并关闭视图控制器
func logoutUser(){
//Networking.logoutUser()
print("It goes to login")
self.performSegue(withIdentifier: "unwindToLogin", sender: self)
}
unwind segue 是在最左边的 VC 上的 LoginVC 上实现的。我在配置文件屏幕上连接了 unwind segue 并称之为“unwindToLogin” 我只是使用了 performSegueWithIdentifier。但是,该方法不会被调用,视图也不会发生任何事情。
编辑 1: 我想知道,因为我在标签栏 vc 上以模态方式调用配置文件页面,它找不到 unwindtologin。 如果我只是简单地使用实例化视图控制器来调用登录,它会清除我的视图控制器堆栈吗?
编辑 2: 抱歉,我忘记了当我检查用户是否登录时,我使用以下代码:
if (FIRAuth.auth()?.currentUser != nil) {
self.storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "TabBarViewController")
}
所以实际上他们找不到 unwind 方法,因为根视图不是主登录视图控制器。
谁能帮忙?
【问题讨论】:
标签: ios swift cocoa-touch