gpt4 book ai didi

ios - 转换回登录 View Controller

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

注销时,我试图将用户带回登录页面。我已经尝试过实例化登录 VC 并推送到导航堆栈以及执行展开 segue。我读过的前者不利于内存,而后者甚至没有设置过渡动画可能是因为我的 View 层次结构是如何设置的。

是否有建议的最佳方法来完成此操作?以下是我的 View 层次结构:

Initial Nav Controller(根据用户身份验证初始化登录 VC 与标签栏 VC 的逻辑)-> Sign-In VC(在登录推送时标签栏 VC 到堆栈)

Tab Bar VC -> Nav Controller -> Home VC -> Nav Controller -> 退出 VC

最佳答案

在 View Controller 中显示登录的方式存在问题。

登录 View Controller 不应被推送到导航 Controller 堆栈中。最好的方法是以模态方式呈现登录 View Controller 。这样,您就可以在应用程序的任何位置显示登录 View Controller 。

1application(_:didFinishLaunchingWithOptions) 的启动过程中,你可以简单地做:

yourTabBarController.present(signInViewController, 
animated: false,
completion: nil)

这将确保您的登录 View Controller 覆盖屏幕。用户无法访问其背后的任何内容。

请注意,我使用 animated: false 来避免向用户显示主屏幕。

2 检查凭据并成功登录后,您可以简单地执行以下操作:

signInViewController.dismiss(animated: true, completion: nil)

这将关闭覆盖主屏幕的登录 View Controller ,并显示实际的主屏幕。

3 无论何时您想要将用户重定向到登录屏幕(例如:在用户单击退出后),您都可以:

yourTabBarController.present(signInViewController, 
animated: true, // Now we add animation.
completion: nil)

这将再次显示登录 View Controller 。登录 View Controller 将覆盖主屏幕,用户无法访问主屏幕。

关于ios - 转换回登录 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50915486/

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