gpt4 book ai didi

ios - DismissViewController swift

转载 作者:行者123 更新时间:2023-11-28 16:18:18 25 4
gpt4 key购买 nike

如果用户已登录,我的应用程序具有以下流程

加载屏幕 -----> 主屏幕 -----> 应用程序的其余部分

如果他不在,则以下流程:

加载屏幕 -----> 登录屏幕 -----> 主屏幕 -----> 应用程序的其余部分

现在我正在实现注销功能。我已将以下代码添加到 main Screen 中:

func handleLogout() {
if self.presentingViewController != nil {
var vc = self.presentingViewController
while ((vc!.presentingViewController) != nil) {
vc = vc!.presentingViewController
}
vc?.dismissViewControllerAnimated(true, completion: {
})
}
}

当应用返回到 加载屏幕 然后按预期加载 Login Screen。但是,如果遵循 2nd 路径(应用启动时用户未登录,并且使用了 Login Screen)代码导致 Login Screen 被直接打开,整个注销过程失败。有没有一种方法可以确保 Loading Screen 始终由此代码加载,而不管遵循两条路径中的哪一条。

最佳答案

使用 unwind segues!

您基本上添加了一个连接“主屏幕”和“登录屏幕”的展开转场。给它一个标识符,你可以随时启动 segue。在 handleLogout 中:

func handleLogout() {
self.performSegueWithIdentifier("your identifier", sender: self)
}

有关如何创建展开转场的详细信息:https://www.andrewcbancroft.com/2015/12/18/working-with-unwind-segues-programmatically-in-swift/

关于ios - DismissViewController swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38809366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com