我正在创建一个应用程序,默认情况下,允许用户在访客或登录状态下使用该应用程序 . 当用户启动应用程序时,根视图控制器是一个带有三个选项卡的选项卡栏控制器 . 要访问其中一个选项卡的功能,用户必须首先使用电子邮件和密码进行身份验证 . 目前,当按下选项卡时,使用push segue显示登录视图,我不喜欢动画的外观,以及您可以在动画期间临时查看实际登录视图的事实 .

我尝试添加导航控制器作为选项卡,然后将导航控制器的根视图控制器设置为登录页面,并带有登录页面的segue(我不喜欢的部分) . 相反,我希望它没有segue,登录页面显示底部的标签栏,当用户登录时,登录页面显示底部的标签栏 .

这是我的TabController类中的内容:

func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
if tabBarController.selectedIndex == 2 {
if AppDelegate.isUserLoggedIn {
let navController : UINavigationController = UINavigationController(rootViewController: self)
navigationController!.show(navController.childViewControllers[0], sender: self)
} else {
let navController = viewController
navController.performSegue(withIdentifier: "testSegue", sender: navController)
}
}
}

我是一个相当新的快速,所以随时提供任何有用的批评