在 Swift 5 中,如何在不带 Navbar 的情况下从 NavigationController 转到 TabBarController?
How to Segue from a NavigationController to a TabBarController without taking the Navbar with it in Swift 5?
我目前正在做一个小的iOS项目,遇到了一个问题:
该应用程序以 Navigation View Controller
开头,用于登录和注册。在此 NavigationVC 中的最后一个视图控制器上完成注册后,我想重定向到主 Tab Bar Controller
.
查看此图片。我希望它能说明我上面的意思:
问题是左侧和右侧之间缺少转场。来自 Xcode 的所有提议的 Segues 都不起作用。 modal Segue
不是选项,show Segue
带有 NavigationController 的 NavBar。
我希望你们对如何解决这个问题有想法。
提前感谢您的帮助。祝你有美好的一天!
您可以通过以下方式简单地返回:
popToViewController:animated
或
目标C:
[self.navigationController popToRootViewControllerAnimated:YES]
Swift:
self.navigationController?.dismiss(animated: true)
您可以重新考虑您的导航架构。
让我们命名您的 tabBarController 的第一个视图控制器"HomeViewController"
实现方式之一是:
- 始终在启动时加载您的 tabBarController。
- 检查用户是否在 HomeViewController 的 viewDidLoad 方法中登录。
- 如果用户未登录,则显示登录视图控制器(带有他自己的导航控制器)。
您现在已经在 HomeViewController 之上呈现了登录过程。
注册完成后,关闭 loginViewController。
您现在返回到 HomeViewController,注册完成。
此外,您可以使用 NotificationCenter 警告 HomeViewController 用户刚刚登录并执行任何初始工作。
我目前正在做一个小的iOS项目,遇到了一个问题:
该应用程序以 Navigation View Controller
开头,用于登录和注册。在此 NavigationVC 中的最后一个视图控制器上完成注册后,我想重定向到主 Tab Bar Controller
.
查看此图片。我希望它能说明我上面的意思:
问题是左侧和右侧之间缺少转场。来自 Xcode 的所有提议的 Segues 都不起作用。 modal Segue
不是选项,show Segue
带有 NavigationController 的 NavBar。
我希望你们对如何解决这个问题有想法。 提前感谢您的帮助。祝你有美好的一天!
您可以通过以下方式简单地返回:
popToViewController:animated
或
目标C:
[self.navigationController popToRootViewControllerAnimated:YES]
Swift:
self.navigationController?.dismiss(animated: true)
您可以重新考虑您的导航架构。
让我们命名您的 tabBarController 的第一个视图控制器"HomeViewController"
实现方式之一是:
- 始终在启动时加载您的 tabBarController。
- 检查用户是否在 HomeViewController 的 viewDidLoad 方法中登录。
- 如果用户未登录,则显示登录视图控制器(带有他自己的导航控制器)。
您现在已经在 HomeViewController 之上呈现了登录过程。
注册完成后,关闭 loginViewController。
您现在返回到 HomeViewController,注册完成。
此外,您可以使用 NotificationCenter 警告 HomeViewController 用户刚刚登录并执行任何初始工作。